Message ID | 20200219135322.56463-7-nirmoy.das@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | do not store GPU address in TTM | expand |
On Wed, Feb 19, 2020 at 02:53:20PM +0100, Nirmoy Das wrote: > Calculate GEM VRAM bo's offset within vram-helper without depending on > bo->offset > > Signed-off-by: Nirmoy Das <nirmoy.das@amd.com> > --- > drivers/gpu/drm/drm_gem_vram_helper.c | 17 ++++++++++++++++- > 1 file changed, 16 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c > index 92a11bb42365..3edf5f241c15 100644 > --- a/drivers/gpu/drm/drm_gem_vram_helper.c > +++ b/drivers/gpu/drm/drm_gem_vram_helper.c > @@ -198,6 +198,21 @@ u64 drm_gem_vram_mmap_offset(struct drm_gem_vram_object *gbo) > } > EXPORT_SYMBOL(drm_gem_vram_mmap_offset); > > +/** > + * drm_gem_vram_pg_offset() - Returns a GEM VRAM object's page offset > + * @gbo: the GEM VRAM object > + * > + * Returns: > + * The buffer object's page offset, or > + * 0 with a warning when memory manager node of the buffer object is NULL > + * */ We generally don't add full formal kerneldoc for internal functions like this. It won't get pulled into generated docs and generally just bitrots. Just informal comment if it's really tricky, but the function name here is clear enough I think. So with the comment removed: Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > +static s64 drm_gem_vram_pg_offset(struct drm_gem_vram_object *gbo) > +{ > + if (WARN_ON_ONCE(!gbo->bo.mem.mm_node)) > + return 0; > + return gbo->bo.mem.start; > +} > + > /** > * drm_gem_vram_offset() - \ > Returns a GEM VRAM object's offset in video memory > @@ -214,7 +229,7 @@ s64 drm_gem_vram_offset(struct drm_gem_vram_object *gbo) > { > if (WARN_ON_ONCE(!gbo->pin_count)) > return (s64)-ENODEV; > - return gbo->bo.offset; > + return drm_gem_vram_pg_offset(gbo) << PAGE_SHIFT; > } > EXPORT_SYMBOL(drm_gem_vram_offset); > > -- > 2.25.0 >
On 2/20/20 7:09 PM, Daniel Vetter wrote: > On Wed, Feb 19, 2020 at 02:53:20PM +0100, Nirmoy Das wrote: >> Calculate GEM VRAM bo's offset within vram-helper without depending on >> bo->offset >> >> Signed-off-by: Nirmoy Das <nirmoy.das@amd.com> >> --- >> drivers/gpu/drm/drm_gem_vram_helper.c | 17 ++++++++++++++++- >> 1 file changed, 16 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c >> index 92a11bb42365..3edf5f241c15 100644 >> --- a/drivers/gpu/drm/drm_gem_vram_helper.c >> +++ b/drivers/gpu/drm/drm_gem_vram_helper.c >> @@ -198,6 +198,21 @@ u64 drm_gem_vram_mmap_offset(struct drm_gem_vram_object *gbo) >> } >> EXPORT_SYMBOL(drm_gem_vram_mmap_offset); >> >> +/** >> + * drm_gem_vram_pg_offset() - Returns a GEM VRAM object's page offset >> + * @gbo: the GEM VRAM object >> + * >> + * Returns: >> + * The buffer object's page offset, or >> + * 0 with a warning when memory manager node of the buffer object is NULL >> + * */ > We generally don't add full formal kerneldoc for internal functions like > this. It won't get pulled into generated docs and generally just bitrots. > Just informal comment if it's really tricky, but the function name here is > clear enough I think. Thanks for you review Daniel, I will remove that comment. Nirmoy > So with the comment removed: > > Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > >> +static s64 drm_gem_vram_pg_offset(struct drm_gem_vram_object *gbo) >> +{ >> + if (WARN_ON_ONCE(!gbo->bo.mem.mm_node)) >> + return 0; >> + return gbo->bo.mem.start; >> +} >> + >> /** >> * drm_gem_vram_offset() - \ >> Returns a GEM VRAM object's offset in video memory >> @@ -214,7 +229,7 @@ s64 drm_gem_vram_offset(struct drm_gem_vram_object *gbo) >> { >> if (WARN_ON_ONCE(!gbo->pin_count)) >> return (s64)-ENODEV; >> - return gbo->bo.offset; >> + return drm_gem_vram_pg_offset(gbo) << PAGE_SHIFT; >> } >> EXPORT_SYMBOL(drm_gem_vram_offset); >> >> -- >> 2.25.0 >>
Hi Am 19.02.20 um 14:53 schrieb Nirmoy Das: > Calculate GEM VRAM bo's offset within vram-helper without depending on > bo->offset > > Signed-off-by: Nirmoy Das <nirmoy.das@amd.com> > --- > drivers/gpu/drm/drm_gem_vram_helper.c | 17 ++++++++++++++++- > 1 file changed, 16 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c > index 92a11bb42365..3edf5f241c15 100644 > --- a/drivers/gpu/drm/drm_gem_vram_helper.c > +++ b/drivers/gpu/drm/drm_gem_vram_helper.c > @@ -198,6 +198,21 @@ u64 drm_gem_vram_mmap_offset(struct drm_gem_vram_object *gbo) > } > EXPORT_SYMBOL(drm_gem_vram_mmap_offset); > > +/** > + * drm_gem_vram_pg_offset() - Returns a GEM VRAM object's page offset > + * @gbo: the GEM VRAM object > + * > + * Returns: > + * The buffer object's page offset, or > + * 0 with a warning when memory manager node of the buffer object is NULL > + * */ > +static s64 drm_gem_vram_pg_offset(struct drm_gem_vram_object *gbo) > +{ > + if (WARN_ON_ONCE(!gbo->bo.mem.mm_node)) > + return 0; > + return gbo->bo.mem.start; > +} As Daniel said, you don't heve to document this function. Otherwise Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> > + > /** > * drm_gem_vram_offset() - \ > Returns a GEM VRAM object's offset in video memory > @@ -214,7 +229,7 @@ s64 drm_gem_vram_offset(struct drm_gem_vram_object *gbo) > { > if (WARN_ON_ONCE(!gbo->pin_count)) > return (s64)-ENODEV; > - return gbo->bo.offset; > + return drm_gem_vram_pg_offset(gbo) << PAGE_SHIFT; > } > EXPORT_SYMBOL(drm_gem_vram_offset); > > -- > 2.25.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel >
diff --git a/drivers/gpu/drm/drm_gem_vram_helper.c b/drivers/gpu/drm/drm_gem_vram_helper.c index 92a11bb42365..3edf5f241c15 100644 --- a/drivers/gpu/drm/drm_gem_vram_helper.c +++ b/drivers/gpu/drm/drm_gem_vram_helper.c @@ -198,6 +198,21 @@ u64 drm_gem_vram_mmap_offset(struct drm_gem_vram_object *gbo) } EXPORT_SYMBOL(drm_gem_vram_mmap_offset); +/** + * drm_gem_vram_pg_offset() - Returns a GEM VRAM object's page offset + * @gbo: the GEM VRAM object + * + * Returns: + * The buffer object's page offset, or + * 0 with a warning when memory manager node of the buffer object is NULL + * */ +static s64 drm_gem_vram_pg_offset(struct drm_gem_vram_object *gbo) +{ + if (WARN_ON_ONCE(!gbo->bo.mem.mm_node)) + return 0; + return gbo->bo.mem.start; +} + /** * drm_gem_vram_offset() - \ Returns a GEM VRAM object's offset in video memory @@ -214,7 +229,7 @@ s64 drm_gem_vram_offset(struct drm_gem_vram_object *gbo) { if (WARN_ON_ONCE(!gbo->pin_count)) return (s64)-ENODEV; - return gbo->bo.offset; + return drm_gem_vram_pg_offset(gbo) << PAGE_SHIFT; } EXPORT_SYMBOL(drm_gem_vram_offset);
Calculate GEM VRAM bo's offset within vram-helper without depending on bo->offset Signed-off-by: Nirmoy Das <nirmoy.das@amd.com> --- drivers/gpu/drm/drm_gem_vram_helper.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) -- 2.25.0