Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753572AbbKWKJM (ORCPT ); Mon, 23 Nov 2015 05:09:12 -0500 Received: from mail-by2on0081.outbound.protection.outlook.com ([207.46.100.81]:24320 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751009AbbKWKJI (ORCPT ); Mon, 23 Nov 2015 05:09:08 -0500 Authentication-Results: spf=none (sender IP is 165.204.84.222) smtp.mailfrom=amd.com; alien8.de; dkim=none (message not signed) header.d=none;alien8.de; dmarc=permerror action=none header.from=amd.com; X-WSS-ID: 0NY9IUN-08-004-02 X-M-MSG: From: Huang Rui To: Guenter Roeck , Wim Van Sebroeck CC: , , "Denis Turischev" , Borislav Petkov , Vincent Wan , Tony Li , Huang Rui Subject: [PATCH 1/2] sp5100_tco: fix the device check for SB800 and later chipsets Date: Mon, 23 Nov 2015 18:07:35 +0800 Message-ID: <1448273256-1793-1-git-send-email-ray.huang@amd.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:165.204.84.222;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(428002)(164054003)(199003)(189002)(77096005)(5008740100001)(97736004)(5003600100002)(106466001)(48376002)(86362001)(5001770100001)(50466002)(36756003)(189998001)(53416004)(50986999)(33646002)(19580405001)(101416001)(92566002)(50226001)(105586002)(5003940100001)(19580395003)(229853001)(586003)(5007970100001)(47776003)(87936001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR12MB0714;H:atltwp02.amd.com;FPR:;SPF:None;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0714;2:iS0QSCSwaArse0aXrLhVl1+wg8pstKT146zAUxz+59GyMNbtLc2ldPyO7kOIb4Dw1DuG7+n+zeaLQEb4QDVa7kQzF/U5o+gxshjax8INd39Rs34agun2lD+rStGZ3bgZ/Fpktvrk9SybI90NwtbFFw==;3:vNzRaMzyLG3OeRt3y61TlRWhwNU6Qt45Jv+H+CMOyEer9zGMP4yW4ziUf5s5XfHgB7FvXMoIwFcS8f2vAcMO3zfJO2ZjuL6i51ddcjtyzkL6ab79ju/ArV3A0jaymkbfYB/3o3VPPlj5HSnI1Dg9VZFfne/yxjsx5qSDF+8YgWoQXO2l/lDDRjDFH1Cht/BXl/nfOoVG1XHC1yLbucetjkThrHLOtXkEb0i3I9W+Py8=;25:nNkm/Llf1bWp7jYZgm0hVlQPLg2hEGVrbvi3VR2jGLzEMdHPseavg7jNI5paDGXBJK0zm3+Ni6J3QnKR7mONOUTKB3PAKszs9CEki9LiSzKJ0KXNqjEjWZaPtoRy3dJTnsqeF0pe428d4JNbSqw14l27LAXIKlnmiY4Z6ENMnyw9w98//VOiTtq2gD9RabfAIbhTOB7IQFPl4dO9orV08cWzEtuHeRYt4gVNFqiOs59qQNpIplFd+gHDRqBsHL3OCdBXJZm8ZMgW/qssBHao3A== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0714; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0714;20:W8x15+usk7ZYEWjUT4cBNzNgjwJtSbCb49JeOxxEVmwwiiBTmbtOa+pZb2C9sqY5FL8WsD++hICbLQQ43eFCbojJ6c0wsHUEOkm+EL89MmkDkE0mWHTiIwKoBLjhRNDSDEwpcA/oNVmOH8bysSTEkn6BhsPt1xoYwdmMtx4WBUlUCmp98jd17VIXBPyenuUhE5rg3Cj9GDYtvFBSzcZThWzIBkD+cUxVbKSS77t2iipOupz7k7LRNslOBfXIrLqc+2FZMjxYqY3OPsVCTRdN7dZ/9LE4j29irPmeq1f15UfZ8TeEOAxdsKXb0ujgDleB3i6HNDL8tHrm7a0QaC1Ah2V5zLmXjVGrwMaTyHuKsyqfBXWoh6FjCBMLljEujzbZb64vNizxHJICLWDyDyaV5j6ocRVss1YPISec5JpKjgtHjfzyQP+sJhdoE3HOzOqyXt8TDq9QV0N5r++OjtH+kWSpVloA9Q+S8CCyvhn9QcjD8pbXrOLTdLkAKvJWN3YQ;4:xfrkFQZGPouI+mi+nWSAYOGCpA+BGXmSfMPe+nLNnXUe1asMDJ3rbhKXt/MjcrK+QvejT2bk2zhVf83sXWwbclZuFEeAdfKrvKZe52wgrEGIXIn4Yn0kLbIn5/qkNfIxQ3v/JSR2FAhnghTsq/z7X8NRCq1TxFjvmFs6FlhV/B3c9wyF+XA96FTTSCRVfDBzpReQiRqlMmpmtYrNXI1uZB8ESpenwGxbrj4f6b8VCgsxbWwuUbqMVNVa4/EgEU30TNwg0XZgEzEv5Bv4xpbRqlvxxvwXoCIFBm+JO9pYEJBttHGkq49VMiASA2AUBbNB86CHXUJpzN0z13YUTJVzmLl1N7fwKHtOFExx0/VwEE6EP0tnCrLAksPb2KSI1ulLdD7ae/ivsEvuS2eUVG8m1wP00XD1oHeard74OG3i96g= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001)(10201501046);SRVR:CY1PR12MB0714;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0714; X-Forefront-PRVS: 07697999E6 X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0714;23:SU5tEveqd1P0kbiwtZTuUZRJ2W4/+enUJ6RTcOtli/tauBC4TKoNTt6orju+pLfJtsrmo8Saa1cBnaWxXEHvS7ny6shLyNwo2ckad/yVPpdTHOBVHPSbiSz5bUpVXez7rCLWFOitvLl8ZX1kZTjUK6PFZdkdu+Rz2YZUxEAJgph/UjPqTGwS4iRyvzBYfIiD5pbMB1IH0LuaIeHZMI1OwKI6L3fu5sU4l3Ghy/ZXyuTj1ONyBICH35QqUcBZz7xdDUnm2b18iMAvDue1jQVUKJAUBAnUNKmEc5ZKvwmrK9MVxKBNe8LFOAPguYLW0nDENPbyJUUxQB4IwfB/z9Ikwo/EMTMfMnzhTO4dU3wWQQnjjilUgik1N13Mkl52aegYS0Jc0nddZlc0qlnAAJUnUuIYRIhFSAkfYUXPN57/5CoPuZcW+eNdyR4vZbveUeFL5GAEik2iEYqQd8moJ5AABK700bjuRNto3n1kRYRS19LXj8fYExMqjJbsCt1Hn/vJfjVRw8XzDIc9oJMbBMaO9kSdzyGOAMQck2u+0C97gDg+vbWA8o1Zxi3mHOXtOJO3OxYR4HrubOiXqmOijN0M9P/NfxrBnFOFrOj922MVPJFUWtR9Bq8Xc4mDJJcGyF2ygrgaqP3YQk7ffDiaxzfr18zQK3DawcyoteWoX7KWo7IvQgFoxN+h7K28JS9W2/ukJotbcAW3NyQHm0MIQmCFgr1pg27dXDQKWYRlF3XIzSt3NzgIMHeMNNKidFs8l4vrIP7v3yfzFEKrHan2kqwxIDyIG7rg2nsQ3ij1hhEFvJ3Eql4RdXd+IbhfvrEjauokTXx1ao1VA4dCHOHPRPtoMvx2oW8dfcJU5lb9xGNYG3ybmZ/LJy/YslZwz4kNLLx63KRbQJPcnwdA7Kza29FVKw== X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0714;5:6cdNWTnI9cYYXFMA2T3EggnOQnBXUuunnH3dQj4ugJCdgXe1nRgjUY5HL2mZkc+wHWHahaueRo0lAhGD7+1+QWuw0aOW/D05WK0jYcMvKMp/GNGRJS7Dk/i3QB9NELhNNV+QVHBFLskauqTHeQNL/w==;24:YyYSAXvWImskA5ayH7j3VX4xcHeco8AkwWPLi/h8mGaaZ1pBk7h3ejwmnC6rWP6SDyJ6sgdyxvs9WiLNbPrqN8omFR3rCtTNNLnSkOhkQxM=;20:keP/lDgp5wQwm8V80bNpk5M+mZldtPUZabPqyDF9uZZQUiEMtiN2hdHt54ENpFiHaVOZnX/hikRDVcb/mpALgdh/JQZWeJGa7VQzhzWqXsKNRIyeLF0TnNNWgNVRO3Hub0Bv/U83Ywl/UQFUqrbGM8jh1szsmwZitco3McXiDPKB5byWH4567DuhVvVMlgIs1X/67RzZx1CJEtkjRZkB489RtJTdoz+9Jsh5/EZBajA5PBo1mr0G1WP4JRZ0hIYA SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2015 10:09:05.4226 (UTC) X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.222];Helo=[atltwp02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0714 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3091 Lines: 89 For SB800 and later chipsets, the register definitions are the same with SB800. And for SB700 and older chipsets, the definitions should be same with SP5100/SB7x0. Signed-off-by: Huang Rui Cc: Denis Turischev --- Hi Guenter, These two patches should be on top of "sp5100_tco: Add AMD Mullins platform support". And are rebased at watchdog-next branch. Thanks, Rui --- drivers/watchdog/sp5100_tco.c | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/drivers/watchdog/sp5100_tco.c b/drivers/watchdog/sp5100_tco.c index ef039f8..c9dd419 100644 --- a/drivers/watchdog/sp5100_tco.c +++ b/drivers/watchdog/sp5100_tco.c @@ -333,21 +333,24 @@ static unsigned char sp5100_tco_setupdevice(void) if (!sp5100_tco_pci) return 0; - pr_info("PCI Revision ID: 0x%x\n", sp5100_tco_pci->revision); + pr_info("PCI Vendor ID: 0x%x, Device ID: 0x%x, Revision ID: 0x%x\n", + sp5100_tco_pci->vendor, sp5100_tco_pci->device, + sp5100_tco_pci->revision); /* * Determine type of southbridge chipset. */ - if (sp5100_tco_pci->revision >= 0x40) { - dev_name = SB800_DEVNAME; - index_reg = SB800_IO_PM_INDEX_REG; - data_reg = SB800_IO_PM_DATA_REG; - base_addr = SB800_PM_WATCHDOG_BASE; - } else { + if (sp5100_tco_pci->device == PCI_DEVICE_ID_ATI_SBX00_SMBUS && + sp5100_tco_pci->revision < 0x40) { dev_name = SP5100_DEVNAME; index_reg = SP5100_IO_PM_INDEX_REG; data_reg = SP5100_IO_PM_DATA_REG; base_addr = SP5100_PM_WATCHDOG_BASE; + } else { + dev_name = SB800_DEVNAME; + index_reg = SB800_IO_PM_INDEX_REG; + data_reg = SB800_IO_PM_DATA_REG; + base_addr = SB800_PM_WATCHDOG_BASE; } /* Request the IO ports used by this driver */ @@ -383,7 +386,12 @@ static unsigned char sp5100_tco_setupdevice(void) * Secondly, Find the watchdog timer MMIO address * from SBResource_MMIO register. */ - if (sp5100_tco_pci->revision >= 0x40) { + if (sp5100_tco_pci->device == PCI_DEVICE_ID_ATI_SBX00_SMBUS && + sp5100_tco_pci->revision < 0x40) { + /* Read SBResource_MMIO from PCI config(PCI_Reg: 9Ch) */ + pci_read_config_dword(sp5100_tco_pci, + SP5100_SB_RESOURCE_MMIO_BASE, &val); + } else { /* Read SBResource_MMIO from AcpiMmioEn(PM_Reg: 24h) */ outb(SB800_PM_ACPI_MMIO_EN+3, SB800_IO_PM_INDEX_REG); val = inb(SB800_IO_PM_DATA_REG); @@ -393,10 +401,6 @@ static unsigned char sp5100_tco_setupdevice(void) val = val << 8 | inb(SB800_IO_PM_DATA_REG); outb(SB800_PM_ACPI_MMIO_EN+0, SB800_IO_PM_INDEX_REG); val = val << 8 | inb(SB800_IO_PM_DATA_REG); - } else { - /* Read SBResource_MMIO from PCI config(PCI_Reg: 9Ch) */ - pci_read_config_dword(sp5100_tco_pci, - SP5100_SB_RESOURCE_MMIO_BASE, &val); } /* The SBResource_MMIO is enabled and mapped memory space? */ -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/