From: Luben Tuikov <luben.tuikov@amd.com>
To: "Ho, Kenny" <Kenny.Ho@amd.com>,
Nirmoy Das <nirmoy.aiemd@gmail.com>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>
Cc: "Zhou, David\(ChunMing\)" <David1.Zhou@amd.com>,
"thellstrom@vmware.com" <thellstrom@vmware.com>,
"airlied@linux.ie" <airlied@linux.ie>,
"brian.welty@intel.com" <brian.welty@intel.com>,
"maarten.lankhorst@linux.intel.com"
<maarten.lankhorst@linux.intel.com>,
"amd-gfx@lists.freedesktop.org" <amd-gfx@lists.freedesktop.org>,
"Das, Nirmoy" <Nirmoy.Das@amd.com>,
"linux-graphics-maintainer@vmware.com"
<linux-graphics-maintainer@vmware.com>,
"bskeggs@redhat.com" <bskeggs@redhat.com>,
"daniel@ffwll.ch" <daniel@ffwll.ch>,
"Deucher, Alexander" <Alexander.Deucher@amd.com>,
"sean@poorly.run" <sean@poorly.run>,
"Koenig, Christian" <Christian.Koenig@amd.com>,
"kraxel@redhat.com" <kraxel@redhat.com>
Subject: Re: [PATCH 2/8] drm/radeon: don't use ttm bo->offset
Date: Thu, 5 Mar 2020 15:18:38 -0500 [thread overview]
Message-ID: <a3382c28-43ce-7e6d-5bbb-611bbcec4d0f@amd.com> (raw)
In-Reply-To: <CH2PR12MB40249EA145F848ABB70B73E483E20@CH2PR12MB4024.namprd12.prod.outlook.com>
On 2020-03-05 14:37, Ho, Kenny wrote:
> [AMD Official Use Only - Internal Distribution Only]
>
>
> I believe bo->tbo.mem.mem_type is of uint32_t type and not an enum, is the index lookup method safe? (i.e., how do you deal with the possibility of having value TTM_PL_PRIV or above or are you suggesting those are not possible for this function.)
Hi Kenny,
Good question. I'm not suggesting that those are not possible
with this function. The driver provides this map.
The format of the map is set by the infrastructure (TTM),
it could be as simple as "u64 *mem_start_map; int map_size;" in an embedding
struture or something more fancy.
However the map array and values themselves are set by the driver when it answers
about its capabilities, etc, when it first registers with TTM.
Notice how badly the switch statment below is written. (Inverview question.)
It's missing a "default:" label! (it's why switch-case is powerful).
If you add a "default:" label, you see that the rest of the values
in the map are 0s.
While TTM knows only of TTM_PL_PRIV number of maps (3), the driver
can add more, allocate and initialize the map, and return it back
to TTM, guaranteeing at least TTM_PL_PRIV maps in indices 0, 1, and 2.
I think it is not a good idea to use a compare-branch for a
simple lookup like this. One naturally asks, "why isn't this
a simple map lookup?"
Consider the following thought experiment: we continue to add switch-case
and if-else for all sorts of simple things as we've seen being suggested
in recent patches. In a few years, we'll not be able to understand the code.
Regards,
Luben
P.S. Code obfuscation isn't necessarily a bad thing--it causes a complete
rewrite! :-D
>
> Kenny
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> *From:* Tuikov, Luben <Luben.Tuikov@amd.com>
> *Sent:* Thursday, March 5, 2020 2:19 PM
> *To:* Nirmoy Das <nirmoy.aiemd@gmail.com>; dri-devel@lists.freedesktop.org <dri-devel@lists.freedesktop.org>
> *Cc:* Zhou, David(ChunMing) <David1.Zhou@amd.com>; thellstrom@vmware.com <thellstrom@vmware.com>; airlied@linux.ie <airlied@linux.ie>; Ho, Kenny <Kenny.Ho@amd.com>; brian.welty@intel.com <brian.welty@intel.com>; maarten.lankhorst@linux.intel.com <maarten.lankhorst@linux.intel.com>; amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org>; Das, Nirmoy <Nirmoy.Das@amd.com>; linux-graphics-maintainer@vmware.com <linux-graphics-maintainer@vmware.com>; bskeggs@redhat.com <bskeggs@redhat.com>; daniel@ffwll.ch <daniel@ffwll.ch>; Deucher, Alexander <Alexander.Deucher@amd.com>; sean@poorly.run <sean@poorly.run>; Koenig, Christian <Christian.Koenig@amd.com>; kraxel@redhat.com <kraxel@redhat.com>
> *Subject:* Re: [PATCH 2/8] drm/radeon: don't use ttm bo->offset
>
> On 2020-03-05 08:29, Nirmoy Das wrote:
>> Calculate GPU offset in radeon_bo_gpu_offset without depending on
>> bo->offset.
>>
>> Signed-off-by: Nirmoy Das <nirmoy.das@amd.com>
>> Reviewed-and-tested-by: Christian König <christian.koenig@amd.com>
>> ---
>> drivers/gpu/drm/radeon/radeon.h | 1 +
>> drivers/gpu/drm/radeon/radeon_object.h | 16 +++++++++++++++-
>> drivers/gpu/drm/radeon/radeon_ttm.c | 4 +---
>> 3 files changed, 17 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
>> index 30e32adc1fc6..b7c3fb2bfb54 100644
>> --- a/drivers/gpu/drm/radeon/radeon.h
>> +++ b/drivers/gpu/drm/radeon/radeon.h
>> @@ -2828,6 +2828,7 @@ extern void radeon_ttm_set_active_vram_size(struct radeon_device *rdev, u64 size
>> extern void radeon_program_register_sequence(struct radeon_device *rdev,
>> const u32 *registers,
>> const u32 array_size);
>> +struct radeon_device *radeon_get_rdev(struct ttm_bo_device *bdev);
>>
>> /*
>> * vm
>> diff --git a/drivers/gpu/drm/radeon/radeon_object.h b/drivers/gpu/drm/radeon/radeon_object.h
>> index d23f2ed4126e..60275b822f79 100644
>> --- a/drivers/gpu/drm/radeon/radeon_object.h
>> +++ b/drivers/gpu/drm/radeon/radeon_object.h
>> @@ -90,7 +90,21 @@ static inline void radeon_bo_unreserve(struct radeon_bo *bo)
>> */
>> static inline u64 radeon_bo_gpu_offset(struct radeon_bo *bo)
>> {
>> - return bo->tbo.offset;
>> + struct radeon_device *rdev;
>> + u64 start = 0;
>> +
>> + rdev = radeon_get_rdev(bo->tbo.bdev);
>> +
>> + switch (bo->tbo.mem.mem_type) {
>> + case TTM_PL_TT:
>> + start = rdev->mc.gtt_start;
>> + break;
>> + case TTM_PL_VRAM:
>> + start = rdev->mc.vram_start;
>> + break;
>> + }
>> +
>> + return (bo->tbo.mem.start << PAGE_SHIFT) + start;
>> }
>
> You're removing a "return bo->tbo.offset" and adding a
> switch-case statement. So, then, now instead of an instant
> lookup, you're adding branching. You're adding comparison
> and branching. Do you think that's better? Faster? Smaller?
>
> I've written before about this for this patch: Why not create a map,
> whose index is "mem_type" which references the desired
> address? No comparison, no branching. Just an index-dereference
> and a value:
>
> return rdev->mc.mem_start_map[bo->tbo.mem.mem_type];
>
> Obviously, you'll have to create "mem_start_map".
>
> That's a NAK from me on this patch using comparison
> and branching to return static data lookup value.
>
> Regards,
> Luben
>
>>
>> static inline unsigned long radeon_bo_size(struct radeon_bo *bo)
>> diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
>> index badf1b6d1549..1c8303468e8f 100644
>> --- a/drivers/gpu/drm/radeon/radeon_ttm.c
>> +++ b/drivers/gpu/drm/radeon/radeon_ttm.c
>> @@ -56,7 +56,7 @@
>> static int radeon_ttm_debugfs_init(struct radeon_device *rdev);
>> static void radeon_ttm_debugfs_fini(struct radeon_device *rdev);
>>
>> -static struct radeon_device *radeon_get_rdev(struct ttm_bo_device *bdev)
>> +struct radeon_device *radeon_get_rdev(struct ttm_bo_device *bdev)
>> {
>> struct radeon_mman *mman;
>> struct radeon_device *rdev;
>> @@ -82,7 +82,6 @@ static int radeon_init_mem_type(struct ttm_bo_device *bdev, uint32_t type,
>> break;
>> case TTM_PL_TT:
>> man->func = &ttm_bo_manager_func;
>> - man->gpu_offset = rdev->mc.gtt_start;
>> man->available_caching = TTM_PL_MASK_CACHING;
>> man->default_caching = TTM_PL_FLAG_CACHED;
>> man->flags = TTM_MEMTYPE_FLAG_MAPPABLE | TTM_MEMTYPE_FLAG_CMA;
>> @@ -104,7 +103,6 @@ static int radeon_init_mem_type(struct ttm_bo_device *bdev, uint32_t type,
>> case TTM_PL_VRAM:
>> /* "On-card" video ram */
>> man->func = &ttm_bo_manager_func;
>> - man->gpu_offset = rdev->mc.vram_start;
>> man->flags = TTM_MEMTYPE_FLAG_FIXED |
>> TTM_MEMTYPE_FLAG_MAPPABLE;
>> man->available_caching = TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_WC;
>> --
>> 2.25.0
>>
>> _______________________________________________
>> amd-gfx mailing list
>> amd-gfx@lists.freedesktop.org
>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=02%7C01%7Cluben.tuikov%40amd.com%7Cca6004a5ac7a400a030708d7c108bcde%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637190115619487827&sdata=EkSy4vpUIbTE%2B75CSO37JWiULKbRTYbcZUSEtRpcrTk%3D&reserved=0
>>
>
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
WARNING: multiple messages have this Message-ID (diff)
From: Luben Tuikov <luben.tuikov@amd.com>
To: "Ho, Kenny" <Kenny.Ho@amd.com>,
Nirmoy Das <nirmoy.aiemd@gmail.com>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>
Cc: "thellstrom@vmware.com" <thellstrom@vmware.com>,
"airlied@linux.ie" <airlied@linux.ie>,
"brian.welty@intel.com" <brian.welty@intel.com>,
"amd-gfx@lists.freedesktop.org" <amd-gfx@lists.freedesktop.org>,
"Das, Nirmoy" <Nirmoy.Das@amd.com>,
"linux-graphics-maintainer@vmware.com"
<linux-graphics-maintainer@vmware.com>,
"bskeggs@redhat.com" <bskeggs@redhat.com>,
"Deucher, Alexander" <Alexander.Deucher@amd.com>,
"sean@poorly.run" <sean@poorly.run>,
"Koenig, Christian" <Christian.Koenig@amd.com>,
"kraxel@redhat.com" <kraxel@redhat.com>
Subject: Re: [PATCH 2/8] drm/radeon: don't use ttm bo->offset
Date: Thu, 5 Mar 2020 15:18:38 -0500 [thread overview]
Message-ID: <a3382c28-43ce-7e6d-5bbb-611bbcec4d0f@amd.com> (raw)
In-Reply-To: <CH2PR12MB40249EA145F848ABB70B73E483E20@CH2PR12MB4024.namprd12.prod.outlook.com>
On 2020-03-05 14:37, Ho, Kenny wrote:
> [AMD Official Use Only - Internal Distribution Only]
>
>
> I believe bo->tbo.mem.mem_type is of uint32_t type and not an enum, is the index lookup method safe? (i.e., how do you deal with the possibility of having value TTM_PL_PRIV or above or are you suggesting those are not possible for this function.)
Hi Kenny,
Good question. I'm not suggesting that those are not possible
with this function. The driver provides this map.
The format of the map is set by the infrastructure (TTM),
it could be as simple as "u64 *mem_start_map; int map_size;" in an embedding
struture or something more fancy.
However the map array and values themselves are set by the driver when it answers
about its capabilities, etc, when it first registers with TTM.
Notice how badly the switch statment below is written. (Inverview question.)
It's missing a "default:" label! (it's why switch-case is powerful).
If you add a "default:" label, you see that the rest of the values
in the map are 0s.
While TTM knows only of TTM_PL_PRIV number of maps (3), the driver
can add more, allocate and initialize the map, and return it back
to TTM, guaranteeing at least TTM_PL_PRIV maps in indices 0, 1, and 2.
I think it is not a good idea to use a compare-branch for a
simple lookup like this. One naturally asks, "why isn't this
a simple map lookup?"
Consider the following thought experiment: we continue to add switch-case
and if-else for all sorts of simple things as we've seen being suggested
in recent patches. In a few years, we'll not be able to understand the code.
Regards,
Luben
P.S. Code obfuscation isn't necessarily a bad thing--it causes a complete
rewrite! :-D
>
> Kenny
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> *From:* Tuikov, Luben <Luben.Tuikov@amd.com>
> *Sent:* Thursday, March 5, 2020 2:19 PM
> *To:* Nirmoy Das <nirmoy.aiemd@gmail.com>; dri-devel@lists.freedesktop.org <dri-devel@lists.freedesktop.org>
> *Cc:* Zhou, David(ChunMing) <David1.Zhou@amd.com>; thellstrom@vmware.com <thellstrom@vmware.com>; airlied@linux.ie <airlied@linux.ie>; Ho, Kenny <Kenny.Ho@amd.com>; brian.welty@intel.com <brian.welty@intel.com>; maarten.lankhorst@linux.intel.com <maarten.lankhorst@linux.intel.com>; amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org>; Das, Nirmoy <Nirmoy.Das@amd.com>; linux-graphics-maintainer@vmware.com <linux-graphics-maintainer@vmware.com>; bskeggs@redhat.com <bskeggs@redhat.com>; daniel@ffwll.ch <daniel@ffwll.ch>; Deucher, Alexander <Alexander.Deucher@amd.com>; sean@poorly.run <sean@poorly.run>; Koenig, Christian <Christian.Koenig@amd.com>; kraxel@redhat.com <kraxel@redhat.com>
> *Subject:* Re: [PATCH 2/8] drm/radeon: don't use ttm bo->offset
>
> On 2020-03-05 08:29, Nirmoy Das wrote:
>> Calculate GPU offset in radeon_bo_gpu_offset without depending on
>> bo->offset.
>>
>> Signed-off-by: Nirmoy Das <nirmoy.das@amd.com>
>> Reviewed-and-tested-by: Christian König <christian.koenig@amd.com>
>> ---
>> drivers/gpu/drm/radeon/radeon.h | 1 +
>> drivers/gpu/drm/radeon/radeon_object.h | 16 +++++++++++++++-
>> drivers/gpu/drm/radeon/radeon_ttm.c | 4 +---
>> 3 files changed, 17 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
>> index 30e32adc1fc6..b7c3fb2bfb54 100644
>> --- a/drivers/gpu/drm/radeon/radeon.h
>> +++ b/drivers/gpu/drm/radeon/radeon.h
>> @@ -2828,6 +2828,7 @@ extern void radeon_ttm_set_active_vram_size(struct radeon_device *rdev, u64 size
>> extern void radeon_program_register_sequence(struct radeon_device *rdev,
>> const u32 *registers,
>> const u32 array_size);
>> +struct radeon_device *radeon_get_rdev(struct ttm_bo_device *bdev);
>>
>> /*
>> * vm
>> diff --git a/drivers/gpu/drm/radeon/radeon_object.h b/drivers/gpu/drm/radeon/radeon_object.h
>> index d23f2ed4126e..60275b822f79 100644
>> --- a/drivers/gpu/drm/radeon/radeon_object.h
>> +++ b/drivers/gpu/drm/radeon/radeon_object.h
>> @@ -90,7 +90,21 @@ static inline void radeon_bo_unreserve(struct radeon_bo *bo)
>> */
>> static inline u64 radeon_bo_gpu_offset(struct radeon_bo *bo)
>> {
>> - return bo->tbo.offset;
>> + struct radeon_device *rdev;
>> + u64 start = 0;
>> +
>> + rdev = radeon_get_rdev(bo->tbo.bdev);
>> +
>> + switch (bo->tbo.mem.mem_type) {
>> + case TTM_PL_TT:
>> + start = rdev->mc.gtt_start;
>> + break;
>> + case TTM_PL_VRAM:
>> + start = rdev->mc.vram_start;
>> + break;
>> + }
>> +
>> + return (bo->tbo.mem.start << PAGE_SHIFT) + start;
>> }
>
> You're removing a "return bo->tbo.offset" and adding a
> switch-case statement. So, then, now instead of an instant
> lookup, you're adding branching. You're adding comparison
> and branching. Do you think that's better? Faster? Smaller?
>
> I've written before about this for this patch: Why not create a map,
> whose index is "mem_type" which references the desired
> address? No comparison, no branching. Just an index-dereference
> and a value:
>
> return rdev->mc.mem_start_map[bo->tbo.mem.mem_type];
>
> Obviously, you'll have to create "mem_start_map".
>
> That's a NAK from me on this patch using comparison
> and branching to return static data lookup value.
>
> Regards,
> Luben
>
>>
>> static inline unsigned long radeon_bo_size(struct radeon_bo *bo)
>> diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
>> index badf1b6d1549..1c8303468e8f 100644
>> --- a/drivers/gpu/drm/radeon/radeon_ttm.c
>> +++ b/drivers/gpu/drm/radeon/radeon_ttm.c
>> @@ -56,7 +56,7 @@
>> static int radeon_ttm_debugfs_init(struct radeon_device *rdev);
>> static void radeon_ttm_debugfs_fini(struct radeon_device *rdev);
>>
>> -static struct radeon_device *radeon_get_rdev(struct ttm_bo_device *bdev)
>> +struct radeon_device *radeon_get_rdev(struct ttm_bo_device *bdev)
>> {
>> struct radeon_mman *mman;
>> struct radeon_device *rdev;
>> @@ -82,7 +82,6 @@ static int radeon_init_mem_type(struct ttm_bo_device *bdev, uint32_t type,
>> break;
>> case TTM_PL_TT:
>> man->func = &ttm_bo_manager_func;
>> - man->gpu_offset = rdev->mc.gtt_start;
>> man->available_caching = TTM_PL_MASK_CACHING;
>> man->default_caching = TTM_PL_FLAG_CACHED;
>> man->flags = TTM_MEMTYPE_FLAG_MAPPABLE | TTM_MEMTYPE_FLAG_CMA;
>> @@ -104,7 +103,6 @@ static int radeon_init_mem_type(struct ttm_bo_device *bdev, uint32_t type,
>> case TTM_PL_VRAM:
>> /* "On-card" video ram */
>> man->func = &ttm_bo_manager_func;
>> - man->gpu_offset = rdev->mc.vram_start;
>> man->flags = TTM_MEMTYPE_FLAG_FIXED |
>> TTM_MEMTYPE_FLAG_MAPPABLE;
>> man->available_caching = TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_WC;
>> --
>> 2.25.0
>>
>> _______________________________________________
>> amd-gfx mailing list
>> amd-gfx@lists.freedesktop.org
>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=02%7C01%7Cluben.tuikov%40amd.com%7Cca6004a5ac7a400a030708d7c108bcde%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637190115619487827&sdata=EkSy4vpUIbTE%2B75CSO37JWiULKbRTYbcZUSEtRpcrTk%3D&reserved=0
>>
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2020-03-05 20:18 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-05 13:29 [PATCH v4 0/8] do not store GPU address in TTM Nirmoy Das
2020-03-05 13:29 ` Nirmoy Das
2020-03-05 13:29 ` [PATCH 1/8] drm/amdgpu: move ttm bo->offset to amdgpu_bo Nirmoy Das
2020-03-05 13:29 ` Nirmoy Das
2020-03-05 19:11 ` Luben Tuikov
2020-03-05 19:11 ` Luben Tuikov
2020-03-05 13:29 ` [PATCH 2/8] drm/radeon: don't use ttm bo->offset Nirmoy Das
2020-03-05 13:29 ` Nirmoy Das
2020-03-05 19:19 ` Luben Tuikov
2020-03-05 19:19 ` Luben Tuikov
2020-03-05 19:37 ` Ho, Kenny
2020-03-05 19:37 ` Ho, Kenny
2020-03-05 20:18 ` Luben Tuikov [this message]
2020-03-05 20:18 ` Luben Tuikov
2020-03-05 13:29 ` [PATCH 3/8] drm/vmwgfx: " Nirmoy Das
2020-03-05 13:29 ` Nirmoy Das
2020-03-05 13:29 ` [PATCH 4/8] drm/nouveau: don't use ttm bo->offset v3 Nirmoy Das
2020-03-05 13:29 ` Nirmoy Das
2020-03-05 13:33 ` Christian König
2020-03-05 13:33 ` Christian König
2020-03-05 19:23 ` Luben Tuikov
2020-03-05 19:23 ` Luben Tuikov
2020-03-05 13:29 ` [PATCH 5/8] drm/qxl: don't use ttm bo->offset Nirmoy Das
2020-03-05 13:29 ` Nirmoy Das
2020-03-05 13:29 ` [PATCH 6/8] drm/vram-helper: don't use ttm bo->offset v3 Nirmoy Das
2020-03-05 13:29 ` Nirmoy Das
2020-03-05 14:07 ` Gerd Hoffmann
2020-03-05 14:07 ` Gerd Hoffmann
2020-03-05 14:26 ` Thomas Zimmermann
2020-03-05 14:26 ` Thomas Zimmermann
2020-03-05 14:35 ` Nirmoy
2020-03-05 14:35 ` Nirmoy
2020-03-05 14:34 ` Christian König
2020-03-05 14:34 ` Christian König
2020-03-05 13:29 ` [PATCH 7/8] drm/bochs: use drm_gem_vram_offset to get bo offset v2 Nirmoy Das
2020-03-05 13:29 ` Nirmoy Das
2020-03-05 13:29 ` [PATCH 8/8] drm/ttm: do not keep GPU dependent addresses Nirmoy Das
2020-03-05 13:29 ` Nirmoy Das
2020-03-05 13:34 ` Christian König
2020-03-05 13:34 ` Christian König
-- strict thread matches above, loose matches on Subject: below --
2020-06-24 18:26 [RESEND] [PATCH v6 0/8] do not store GPU address in TTM Nirmoy Das
2020-06-24 18:26 ` [PATCH 2/8] drm/radeon: don't use ttm bo->offset Nirmoy Das
2020-04-01 18:42 [PATCH v5 0/8] do not store GPU address in TTM Nirmoy Das
2020-04-01 18:42 ` [PATCH 2/8] drm/radeon: don't use ttm bo->offset Nirmoy Das
2020-02-19 13:53 [PATCH v3 0/8] do not store GPU address in TTM Nirmoy Das
2020-02-19 13:53 ` [PATCH 2/8] drm/radeon: don't use ttm bo->offset Nirmoy Das
2020-02-19 13:53 ` Nirmoy Das
2020-02-21 1:19 ` Luben Tuikov
2020-02-21 1:19 ` Luben Tuikov
2020-02-21 13:27 ` Nirmoy
2020-02-17 15:04 [PATCH 0/8] do not store GPU address in TTM Nirmoy Das
2020-02-17 15:04 ` [PATCH 2/8] drm/radeon: don't use ttm bo->offset Nirmoy Das
2020-02-17 15:04 ` Nirmoy Das
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a3382c28-43ce-7e6d-5bbb-611bbcec4d0f@amd.com \
--to=luben.tuikov@amd.com \
--cc=Alexander.Deucher@amd.com \
--cc=Christian.Koenig@amd.com \
--cc=David1.Zhou@amd.com \
--cc=Kenny.Ho@amd.com \
--cc=Nirmoy.Das@amd.com \
--cc=airlied@linux.ie \
--cc=amd-gfx@lists.freedesktop.org \
--cc=brian.welty@intel.com \
--cc=bskeggs@redhat.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=kraxel@redhat.com \
--cc=linux-graphics-maintainer@vmware.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=nirmoy.aiemd@gmail.com \
--cc=sean@poorly.run \
--cc=thellstrom@vmware.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.