lkml.org 
[lkml]   [2020]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] thermal: intel_pch_thermal: Add PCI ids for Lewisburg PCH.
    Date
    I noticed that I couldn't read the PCH temperature on my workstation
    (C620 series chipset, w/ 2x Xeon Gold 5215 CPUs) directly, but had to go
    through IPMI. Looking at the data sheet, it looks to me like the
    existing intel PCH thermal driver should work without changes for
    Lewisburg.

    I suspect there's some other PCI id's missing. But I hope somebody at
    Intel would have an easier time figuring that out than I...

    Signed-off-by: Andres Freund <andres@anarazel.de>
    ---
    drivers/thermal/intel/intel_pch_thermal.c | 8 ++++++++
    1 file changed, 8 insertions(+)

    diff --git a/drivers/thermal/intel/intel_pch_thermal.c b/drivers/thermal/intel/intel_pch_thermal.c
    index 4f0bb8f502e1..1f3ff0d489ef 100644
    --- a/drivers/thermal/intel/intel_pch_thermal.c
    +++ b/drivers/thermal/intel/intel_pch_thermal.c
    @@ -23,6 +23,7 @@
    #define PCH_THERMAL_DID_SKL_H 0xA131 /* Skylake PCH 100 series */
    #define PCH_THERMAL_DID_CNL 0x9Df9 /* CNL PCH */
    #define PCH_THERMAL_DID_CNL_H 0xA379 /* CNL-H PCH */
    +#define PCH_THERMAL_DID_LWB 0xA1B1 /* Lewisburg PCH */

    /* Wildcat Point-LP PCH Thermal registers */
    #define WPT_TEMP 0x0000 /* Temperature */
    @@ -272,6 +273,7 @@ enum board_ids {
    board_wpt,
    board_skl,
    board_cnl,
    + board_lwb,
    };

    static const struct board_info {
    @@ -294,6 +296,10 @@ static const struct board_info {
    .name = "pch_cannonlake",
    .ops = &pch_dev_ops_wpt,
    },
    + [board_lwb] = {
    + .name = "pch_lewisburg",
    + .ops = &pch_dev_ops_wpt,
    + },
    };

    static int intel_pch_thermal_probe(struct pci_dev *pdev,
    @@ -398,6 +404,8 @@ static const struct pci_device_id intel_pch_thermal_id[] = {
    .driver_data = board_cnl, },
    { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCH_THERMAL_DID_CNL_H),
    .driver_data = board_cnl, },
    + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCH_THERMAL_DID_LWB),
    + .driver_data = board_lwb, },
    { 0, },
    };
    MODULE_DEVICE_TABLE(pci, intel_pch_thermal_id);
    --
    2.25.0.rc1
    \
     
     \ /
      Last update: 2020-01-15 19:45    [W:3.870 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site