Re: Hook up a PCIe device into the thermal framework

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[+cc thermal and DT folks]

On Thu, Jan 14, 2021 at 06:04:18PM +0100, Waldemar Rymarkiewicz wrote:
> Hi,
> 
> I've been looking for a nice way to hook up a PCIe device into the
> thermal framework recently and I want to confront my findings with the
> right people here.
> 
> I have a PCIe wireless adapter connected to PCI-to-PCI bridge which in
> turns is connected to a PCI root complex (RC). I want to define a
> thermal zone over the wireless adapter in my system and control it
> over DT (thermal-zones{...})  instead of keeping thermal zone
> definition statically in the PCI device driver (as it's done in the
> iwlwifi wireless driver or the mlxsw ethernet driver for example)
> 
> The issue I have faced is that a PCI device has no DT node
> (pci_dev.dev.of_node) which is reasonable as this is by design
> discoverable device. This, however, prevents me to register the PCI
> device as a thermal sensor (dev.of_node is required by thermal).
> 
> As far as we consider a fixed PCI topology eg. a SoC internal design I
> could put something like this in DT (used by ath11k/ath10k btw).
> 
> pci@... {
>    ...
>    pci-bridge@... {
>    ...
>         wifi:wifi@0 {
>               reg = <0x0 0 0 0 0>;
>               #thermal-sensor-cells = <0>;
>          };
>    };
> };
> 
> but in case we consider an arbitrary location of the device in PCI
> topology that DT modification will not work and still I have no device
> node.

I'm absolutely not a DT expert, but I assume that a thermal zone would
be associated with some resource fixed by the platform, such as a fan,
so I would think a thermal zone would have to be described in terms of
the platform physical topology, not the PCI device type.

> Is there any preferred solution in the Linux kernel for this kind of use-case?
> 
> All the ideas appreciated.
> 
> Thanks,
> /Waldek



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux