All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: "Christian König" <christian.koenig@amd.com>
Cc: Madhav.Chauhan@amd.com, "Ruhl,
	Michael J" <michael.j.ruhl@intel.com>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH 06/11] drm/radeon: stop using TTM_MEMTYPE_FLAG_MAPPABLE
Date: Wed, 22 Jul 2020 13:42:53 +0200	[thread overview]
Message-ID: <CAKMK7uF-MCP1RJ27HKws-T+QBhSOR2qjCwBDGeuqcS4f2LXgsQ@mail.gmail.com> (raw)
In-Reply-To: <64366e12-bdaa-a1e7-2fef-3c61d5142651@amd.com>

On Wed, Jul 22, 2020 at 1:13 PM Christian König
<christian.koenig@amd.com> wrote:
>
> Am 22.07.20 um 07:34 schrieb Daniel Vetter:
> > On Tue, Jul 21, 2020 at 4:46 PM Christian König
> > <ckoenig.leichtzumerken@gmail.com> wrote:
> >> Am 21.07.20 um 11:24 schrieb daniel@ffwll.ch:
> >>> On Tue, Jul 21, 2020 at 09:32:40AM +0200, Christian König wrote:
> >>>> The driver doesn't expose any not-mapable memory resources.
> >>>>
> >>>> Signed-off-by: Christian König <christian.koenig@amd.com>
> >>>> ---
> >>>>    drivers/gpu/drm/radeon/radeon_ttm.c | 13 ++++---------
> >>>>    1 file changed, 4 insertions(+), 9 deletions(-)
> >>>>
> >>>> diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
> >>>> index 54af06df865b..b474781a0920 100644
> >>>> --- a/drivers/gpu/drm/radeon/radeon_ttm.c
> >>>> +++ b/drivers/gpu/drm/radeon/radeon_ttm.c
> >>>> @@ -76,7 +76,7 @@ static int radeon_init_mem_type(struct ttm_bo_device *bdev, uint32_t type,
> >>>>       switch (type) {
> >>>>       case TTM_PL_SYSTEM:
> >>>>               /* System memory */
> >>>> -            man->flags = TTM_MEMTYPE_FLAG_MAPPABLE;
> >>>> +            man->flags = 0;
> >>>>               man->available_caching = TTM_PL_MASK_CACHING;
> >>>>               man->default_caching = TTM_PL_FLAG_CACHED;
> >>>>               break;
> >>>> @@ -84,7 +84,7 @@ static int radeon_init_mem_type(struct ttm_bo_device *bdev, uint32_t type,
> >>>>               man->func = &ttm_bo_manager_func;
> >>>>               man->available_caching = TTM_PL_MASK_CACHING;
> >>>>               man->default_caching = TTM_PL_FLAG_CACHED;
> >>>> -            man->flags = TTM_MEMTYPE_FLAG_MAPPABLE;
> >>>> +            man->flags = 0;
> >>>>    #if IS_ENABLED(CONFIG_AGP)
> >>>>               if (rdev->flags & RADEON_IS_AGP) {
> >>>>                       if (!rdev->ddev->agp) {
> >>>> @@ -92,8 +92,6 @@ static int radeon_init_mem_type(struct ttm_bo_device *bdev, uint32_t type,
> >>>>                                         (unsigned)type);
> >>>>                               return -EINVAL;
> >>>>                       }
> >>>> -                    if (!rdev->ddev->agp->cant_use_aperture)
> >>>> -                            man->flags = TTM_MEMTYPE_FLAG_MAPPABLE;
> >>> There is a bunch of agp drivers (alpha, ppc, that kind of stuff) with this
> >>> flag set. And radeon.ko did at least once work on these. And your patch to
> >>> disable agp only changes the default, it doesn't rip out the code.
> >> The key pint is that the flags for AGP are the same as the one for the
> >> PCIe path. So no functional change at all :)
> > I misread the code somehow, I didn't spot the unconditional setting of
> > FLAG_MAPPABLE for all TTM_PL_TT, irrespective of agp or not, somehow
> > thought that's another case.
> >
> > Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>
> And for the amdgpu patch? Otherwise I just ping Alex for an rb.

See my question over there, I'm not seeing how the code prevents mmap
for AMDGPU_PL_* domains after your patch. Once that's cleared up happy
to r-b that one and the final one too.
-Daniel

>
> Thanks,
> Christian.
>
> >
> >> The real handling of cant_use_aperture is in radeon_ttm_io_mem_reserve().
> >>
> >> Christian.
> >>
> >>> So not sure your assumption here is correct.
> >>> -Daniel
> >>>
> >>>>                       man->available_caching = TTM_PL_FLAG_UNCACHED |
> >>>>                                                TTM_PL_FLAG_WC;
> >>>>                       man->default_caching = TTM_PL_FLAG_WC;
> >>>> @@ -103,8 +101,7 @@ 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->flags = TTM_MEMTYPE_FLAG_FIXED |
> >>>> -                         TTM_MEMTYPE_FLAG_MAPPABLE;
> >>>> +            man->flags = TTM_MEMTYPE_FLAG_FIXED;
> >>>>               man->available_caching = TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_WC;
> >>>>               man->default_caching = TTM_PL_FLAG_WC;
> >>>>               break;
> >>>> @@ -394,7 +391,6 @@ static int radeon_bo_move(struct ttm_buffer_object *bo, bool evict,
> >>>>
> >>>>    static int radeon_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_mem_reg *mem)
> >>>>    {
> >>>> -    struct ttm_mem_type_manager *man = &bdev->man[mem->mem_type];
> >>>>       struct radeon_device *rdev = radeon_get_rdev(bdev);
> >>>>
> >>>>       mem->bus.addr = NULL;
> >>>> @@ -402,8 +398,7 @@ static int radeon_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_mem_
> >>>>       mem->bus.size = mem->num_pages << PAGE_SHIFT;
> >>>>       mem->bus.base = 0;
> >>>>       mem->bus.is_iomem = false;
> >>>> -    if (!(man->flags & TTM_MEMTYPE_FLAG_MAPPABLE))
> >>>> -            return -EINVAL;
> >>>> +
> >>>>       switch (mem->mem_type) {
> >>>>       case TTM_PL_SYSTEM:
> >>>>               /* system memory */
> >>>> --
> >>>> 2.17.1
> >>>>
> >>>> _______________________________________________
> >>>> dri-devel mailing list
> >>>> dri-devel@lists.freedesktop.org
> >>>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Fdri-devel&amp;data=02%7C01%7Cchristian.koenig%40amd.com%7C2fb0200ef32f4afcc3e208d82e00ef7d%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637309928847998899&amp;sdata=9VclRJ7e3xfohsaLsiVF6Y83c%2Bkncmbo5uqoeV6tT9M%3D&amp;reserved=0
> >
>


-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2020-07-22 11:43 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-21  7:32 [PATCH 01/11] drm: remove optional dummy function from drivers using TTM Christian König
2020-07-21  7:32 ` [PATCH 02/11] drm/ttm: cleanup io_mem interface with nouveau Christian König
2020-07-21  8:50   ` daniel
2020-07-22  7:05   ` Chauhan, Madhav
2020-07-21  7:32 ` [PATCH 03/11] drm/ttm: remove io_reserve_fastpath flag Christian König
2020-07-21  8:52   ` daniel
2020-07-21  7:32 ` [PATCH 04/11] drm/ttm: cleanup coding style and implementation Christian König
2020-07-21  8:56   ` daniel
2020-07-21  7:32 ` [PATCH 05/11] drm/ttm: remove TTM_MEMTYPE_FLAG_CMA Christian König
2020-07-21  9:01   ` daniel
2020-07-21  7:32 ` [PATCH 06/11] drm/radeon: stop using TTM_MEMTYPE_FLAG_MAPPABLE Christian König
2020-07-21  9:24   ` daniel
2020-07-21 14:46     ` Christian König
2020-07-22  5:34       ` Daniel Vetter
2020-07-22 11:13         ` Christian König
2020-07-22 11:42           ` Daniel Vetter [this message]
2020-07-22 11:49             ` Christian König
2020-07-22 11:58               ` Daniel Vetter
2020-07-21  7:32 ` [PATCH 07/11] drm/vmwgfx: " Christian König
2020-07-21  9:26   ` daniel
2020-07-21  7:32 ` [PATCH 08/11] drm/amdgpu: " Christian König
2020-07-21  9:28   ` daniel
2020-07-21  9:45     ` Chauhan, Madhav
2020-07-21 14:30     ` Christian König
2020-07-21  7:32 ` [PATCH 09/11] drm/nouveau: " Christian König
2020-07-21  9:28   ` daniel
2020-07-21  7:32 ` [PATCH 10/11] drm/qxl: stop using TTM_MEMTYPE_FLAG_MAPPABLE v2 Christian König
2020-07-21  9:29   ` daniel
2020-07-21  7:32 ` [PATCH 11/11] drm/ttm: remove TTM_MEMTYPE_FLAG_MAPPABLE Christian König
2020-07-21  9:30   ` daniel
2020-07-21  9:54   ` kernel test robot
2020-07-21  9:54     ` kernel test robot
2020-07-21  7:55 ` [PATCH 01/11] drm: remove optional dummy function from drivers using TTM Daniel Vetter
2020-07-21  8:02 ` Christian König
2020-07-21  9:15 ` Chauhan, Madhav

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=CAKMK7uF-MCP1RJ27HKws-T+QBhSOR2qjCwBDGeuqcS4f2LXgsQ@mail.gmail.com \
    --to=daniel@ffwll.ch \
    --cc=Madhav.Chauhan@amd.com \
    --cc=christian.koenig@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=michael.j.ruhl@intel.com \
    --cc=tzimmermann@suse.de \
    /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.