[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3913dfd7-3872-7d69-24af-eba747a7a92d@redhat.com>
Date: Tue, 21 Dec 2021 18:04:11 +0100
From: Hans de Goede <hdegoede@...hat.com>
To: Greg KH <gregkh@...uxfoundation.org>,
"David E. Box" <david.e.box@...ux.intel.com>
Cc: lee.jones@...aro.org, bhelgaas@...gle.com,
andriy.shevchenko@...ux.intel.com, srinivas.pandruvada@...el.com,
mgross@...ux.intel.com, linux-kernel@...r.kernel.org,
platform-driver-x86@...r.kernel.org, linux-pci@...r.kernel.org,
Mark Gross <markgross@...nel.org>
Subject: Re: [PATCH RESEND V2 3/6] platform/x86/intel: Move intel_pmt from MFD
to Auxiliary Bus
Hi,
On 12/21/21 17:54, Greg KH wrote:
> On Tue, Dec 21, 2021 at 08:44:57AM -0800, David E. Box wrote:
>> On Tue, 2021-12-21 at 08:38 +0100, Greg KH wrote:
>>> On Wed, Dec 08, 2021 at 01:30:06PM -0800, David E. Box wrote:
>>>> On Wed, 2021-12-08 at 20:21 +0100, Greg KH wrote:
>>>>> On Wed, Dec 08, 2021 at 11:09:48AM -0800, David E. Box wrote:
>>>>>> On Wed, 2021-12-08 at 19:11 +0100, Greg KH wrote:
>>>>>>> On Wed, Dec 08, 2021 at 09:47:26AM -0800, David E. Box wrote:
>>>>>>>> On Wed, 2021-12-08 at 17:22 +0100, Greg KH wrote:
>>>>>>>>> On Tue, Dec 07, 2021 at 05:50:12PM -0800, David E. Box wrote:
>>>>>>>>>> +static struct pci_driver intel_vsec_pci_driver = {
>>>>>>>>>> + .name = "intel_vsec",
>>>>>>>>>> + .id_table = intel_vsec_pci_ids,
>>>>>>>>>> + .probe = intel_vsec_pci_probe,
>>>>>>>>>> +};
>>>>>>>>>
>>>>>>>>> So when the PCI device is removed from the system you leak
>>>>>>>>> resources and
>>>>>>>>> have dangling devices?
>>>>>>>>
>>>>>>>> No.
>>>>>>>>
>>>>>>>>> Why no PCI remove driver callback?
>>>>>>>>
>>>>>>>> After probe all resources are device managed. There's nothing to
>>>>>>>> explicitly clean up. When
>>>>>>>> the
>>>>>>>> PCI
>>>>>>>> device is removed, all aux devices are automatically removed. This
>>>>>>>> is the case for the SDSi
>>>>>>>> driver
>>>>>>>> as well.
>>>>>>>
>>>>>>> Where is the "automatic cleanup" happening? As this pci driver is
>>>>>>> bound
>>>>>>> to the PCI device, when the device is removed, what is called in this
>>>>>>> driver to remove the resources allocated in the probe callback?
>>>>>>>
>>>>>>> confused,
>>>>>>
>>>>>> devm_add_action_or_reset(&pdev->dev, intel_vsec_remove_aux, auxdev)
>>>>>
>>>>> Wow that is opaque. Why not do it on remove instead?
>>>>
>>>> This code is common for auxdev cleanup. AFAICT most auxiliary bus code is
>>>> done by drivers that have
>>>> some other primary function. They clean up their primary function resources
>>>> in remove, but they
>>>> clean up the auxdev using the method above. In this case the sole purpose of
>>>> this driver is to
>>>> create the auxdev. There are no other resources beyond what the auxdev is
>>>> using.
>>>>
>>>> Adding runtime pm to the pci driver will change this. Remove will be needed
>>>> then.
>>>
>>> And who will notice that being required when that happens?
>>>
>>> Why is there no runtime PM for this driver? Do you not care about power
>>> consumption? :)
>>
>> Of course. :)
>>
>> There's a backlog of patches waiting for this series. One adds support for the
>> telemetry device (an auxdev) on the DG2 GPU. This device requires runtime pm in
>> order for the slot to go D3. But this also requires changes to the telemetry
>> driver in order for runtime pm to be handled correctly. These and other patches,
>> including a series to have all current aux drivers use the new drvdata helpers,
>> are waiting for this.
>
> I can take the aux driver drvdata patch now, through my tree, if you
> want, no need to make it wait for this tiny driver.
>
> Feel free to send it independant of the existing patchset, and with the
> cleanup patches at the same time, should be quite easy to get merged.
If you're going to take that one, can you perhaps take patches
1-3 for 5.17 through your tree as well (patch 3 depends on 2/it) ?
Note there is a v4 of this series, see please use that :)
I assume the follow up patches are also going to need patch 3
(the actual conversion of the driver to aux-bus).
Here is my Ack for the pdx86 bits in patch 3:
Acked-by: Hans de Goede <hdegoede@...hat.com>
And patch 1 and 3 also have acks from the PCI resp. MFD subsys maintainers,
so I guess taking this all upstream through your tree is fine.
That leaves patches 4-6, 4 is the patching adding the new
"Intel Software Defined Silicon driver" sysfs API and I would
like to take some time to thoroughly review the new
userspace API, which I don't see happening before the
Christmas Holidays, so I don't plan to merge 4-6 (which
depends on 3) until after 5.17-rc1.
Regards,
Hans
Powered by blists - more mailing lists