From: Boris Brezillon <boris.brezillon@collabora.com>
To: Steven Price <steven.price@arm.com>
Cc: Robin Murphy <robin.murphy@arm.com>,
Jani Nikula <jani.nikula@linux.intel.com>,
Liviu Dudau <liviu.dudau@arm.com>,
dri-devel@lists.freedesktop.org, kernel@collabora.com,
kernel test robot <lkp@intel.com>
Subject: Re: [PATCH 3/3] drm/panthor: Fix undefined panthor_device_suspend/resume symbol issue
Date: Mon, 11 Mar 2024 14:58:37 +0100 [thread overview]
Message-ID: <20240311145837.4254b504@collabora.com> (raw)
In-Reply-To: <4f4552fe-e2b7-44d0-9d46-448be908472c@arm.com>
On Mon, 11 Mar 2024 13:46:23 +0000
Steven Price <steven.price@arm.com> wrote:
> On 11/03/2024 13:36, Robin Murphy wrote:
> > On 2024-03-11 1:22 pm, Boris Brezillon wrote:
> >> On Mon, 11 Mar 2024 13:11:28 +0000
> >> Robin Murphy <robin.murphy@arm.com> wrote:
> >>
> >>> On 2024-03-11 11:52 am, Boris Brezillon wrote:
> >>>> On Mon, 11 Mar 2024 13:49:56 +0200
> >>>> Jani Nikula <jani.nikula@linux.intel.com> wrote:
> >>>>
> >>>>> On Mon, 11 Mar 2024, Boris Brezillon
> >>>>> <boris.brezillon@collabora.com> wrote:
> >>>>>> On Mon, 11 Mar 2024 13:05:01 +0200
> >>>>>> Jani Nikula <jani.nikula@linux.intel.com> wrote:
> >>>>>>
> >>>>>>> This breaks the config for me:
> >>>>>>>
> >>>>>>> SYNC include/config/auto.conf.cmd
> >>>>>>> GEN Makefile
> >>>>>>> drivers/iommu/Kconfig:14:error: recursive dependency detected!
> >>>>>>> drivers/iommu/Kconfig:14: symbol IOMMU_SUPPORT is selected by
> >>>>>>> DRM_PANTHOR
> >>>>>>> drivers/gpu/drm/panthor/Kconfig:3: symbol DRM_PANTHOR depends
> >>>>>>> on PM
> >>>>>>> kernel/power/Kconfig:183: symbol PM is selected by PM_SLEEP
> >>>>>>> kernel/power/Kconfig:117: symbol PM_SLEEP depends on
> >>>>>>> HIBERNATE_CALLBACKS
> >>>>>>> kernel/power/Kconfig:35: symbol HIBERNATE_CALLBACKS is
> >>>>>>> selected by XEN_SAVE_RESTORE
> >>>>>>> arch/x86/xen/Kconfig:67: symbol XEN_SAVE_RESTORE depends on XEN
> >>>>>>> arch/x86/xen/Kconfig:6: symbol XEN depends on PARAVIRT
> >>>>>>> arch/x86/Kconfig:781: symbol PARAVIRT is selected by HYPERV
> >>>>>>> drivers/hv/Kconfig:5: symbol HYPERV depends on X86_LOCAL_APIC
> >>>>>>> arch/x86/Kconfig:1106: symbol X86_LOCAL_APIC depends on
> >>>>>>> X86_UP_APIC
> >>>>>>> arch/x86/Kconfig:1081: symbol X86_UP_APIC prompt is visible
> >>>>>>> depending on PCI_MSI
> >>>>>>> drivers/pci/Kconfig:39: symbol PCI_MSI is selected by AMD_IOMMU
> >>>>>>> drivers/iommu/amd/Kconfig:3: symbol AMD_IOMMU depends on
> >>>>>>> IOMMU_SUPPORT
> >>>>>>
> >>>>>> Uh, I guess we want a "depends on IOMMU_SUPPORT" instead of "select
> >>>>>> IOMMU_SUPPORT" in panthor then.
> >>>>>
> >>>>> That works for me.
> >>>>
> >>>> Let's revert the faulty commit first. We'll see if Steve has a
> >>>> different solution for the original issue.
> >>>
> >>> FWIW, the reasoning in the offending commit seems incredibly tenuous.
> >>> There are far more practical reasons for building an arm/arm64 kernel
> >>> without PM - for debugging or whatever, and where one may even still
> >>> want a usable GPU, let alone just a non-broken build - than there are
> >>> for building this driver for x86. Using pm_ptr() is trivial, and if you
> >>> want to support COMPILE_TEST then there's really no justifiable excuse
> >>> not to.
> >>
> >> The problem is not just about using pm_ptr(), but also making sure
> >> panthor_device_resume/suspend() are called called in the init/unplug
> >> path when !PM, as I don't think the PM helpers automate that for us. I
> >> was just aiming for a simple fix that wouldn't force me to test the !PM
> >> case...
> > Fair enough, at worst we could always have a runtime check and refuse to
> > probe in conditions we don't think are worth the bother of implementing
> > fully-functional support for. However if we want to make an argument for
> > only supporting "realistic" configs at build time then that is an
> > argument for dropping COMPILE_TEST as well.
>
> Can we just replace the "depends on PM" with "select PM"? In my
> (admittedly very limited) testing this works. Otherwise I think we need
> to bite the bullet and support !PM in some way (maybe just as Robin
> suggests with a runtime bail out).
I won't have time to test it this week, but if someone is interested,
here's a diff implementing manual resume/suspend in the init/unplug
path:
--->8---
next prev parent reply other threads:[~2024-03-11 13:58 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-04 9:08 [PATCH 0/3] drm/panthor: Fix 3 issues reported by the kernel test bot Boris Brezillon
2024-03-04 9:08 ` [PATCH 1/3] drm/panthor: Fix panthor_devfreq kerneldoc Boris Brezillon
2024-03-04 11:17 ` Liviu Dudau
2024-03-04 12:31 ` Steven Price
2024-03-04 9:08 ` [PATCH 2/3] drm/panthor: Explicitly include page.h for the {virt, __phys)_to_pfn() defs Boris Brezillon
2024-03-04 11:16 ` [PATCH 2/3] drm/panthor: Explicitly include page.h for the {virt,__phys)_to_pfn() defs Liviu Dudau
2024-03-04 13:17 ` Boris Brezillon
2024-03-04 12:31 ` Steven Price
2024-03-04 13:17 ` Boris Brezillon
2024-03-04 9:08 ` [PATCH 3/3] drm/panthor: Fix undefined panthor_device_suspend/resume symbol issue Boris Brezillon
2024-03-04 11:13 ` Liviu Dudau
2024-03-04 12:31 ` Steven Price
2024-03-11 11:05 ` Jani Nikula
2024-03-11 11:46 ` Boris Brezillon
2024-03-11 11:49 ` Jani Nikula
2024-03-11 11:52 ` Boris Brezillon
2024-03-11 13:11 ` Robin Murphy
2024-03-11 13:22 ` Boris Brezillon
2024-03-11 13:36 ` Robin Murphy
2024-03-11 13:46 ` Steven Price
2024-03-11 13:58 ` Boris Brezillon [this message]
2024-03-11 13:59 ` Boris Brezillon
2024-03-11 14:05 ` Boris Brezillon
2024-03-11 9:52 ` [PATCH 0/3] drm/panthor: Fix 3 issues reported by the kernel test bot Boris Brezillon
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=20240311145837.4254b504@collabora.com \
--to=boris.brezillon@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=kernel@collabora.com \
--cc=liviu.dudau@arm.com \
--cc=lkp@intel.com \
--cc=robin.murphy@arm.com \
--cc=steven.price@arm.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.