<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/kernel/amd_nb.c, branch linux-5.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-03-13T11:43:02Z</updated>
<entry>
<title>x86/amd_nb: Restrict init function to AMD-based systems</title>
<updated>2025-03-13T11:43:02Z</updated>
<author>
<name>Yazen Ghannam</name>
</author>
<published>2024-12-06T16:11:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9bc723d82e4901a7bdff375a37391519d6e1f5fb'/>
<id>urn:sha1:9bc723d82e4901a7bdff375a37391519d6e1f5fb</id>
<content type='text'>
[ Upstream commit bee9e840609cc67d0a7d82f22a2130fb7a0a766d ]

The code implicitly operates on AMD-based systems by matching on PCI
IDs. However, the use of these IDs is going away.

Add an explicit CPU vendor check instead of relying on PCI IDs.

Signed-off-by: Yazen Ghannam &lt;yazen.ghannam@amd.com&gt;
Signed-off-by: Borislav Petkov (AMD) &lt;bp@alien8.de&gt;
Link: https://lore.kernel.org/r/20241206161210.163701-3-yazen.ghannam@amd.com
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>x86/amd_nb: Check for invalid SMN reads</title>
<updated>2024-07-05T07:08:25Z</updated>
<author>
<name>Yazen Ghannam</name>
</author>
<published>2023-04-03T16:42:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3f0e0be5f8afa9a39e86e1883b7092fb666d9a6e'/>
<id>urn:sha1:3f0e0be5f8afa9a39e86e1883b7092fb666d9a6e</id>
<content type='text'>
[ Upstream commit c625dabbf1c4a8e77e4734014f2fde7aa9071a1f ]

AMD Zen-based systems use a System Management Network (SMN) that
provides access to implementation-specific registers.

SMN accesses are done indirectly through an index/data pair in PCI
config space. The PCI config access may fail and return an error code.
This would prevent the "read" value from being updated.

However, the PCI config access may succeed, but the return value may be
invalid. This is in similar fashion to PCI bad reads, i.e. return all
bits set.

Most systems will return 0 for SMN addresses that are not accessible.
This is in line with AMD convention that unavailable registers are
Read-as-Zero/Writes-Ignored.

However, some systems will return a "PCI Error Response" instead. This
value, along with an error code of 0 from the PCI config access, will
confuse callers of the amd_smn_read() function.

Check for this condition, clear the return value, and set a proper error
code.

Fixes: ddfe43cdc0da ("x86/amd_nb: Add SMN and Indirect Data Fabric access for AMD Fam17h")
Signed-off-by: Yazen Ghannam &lt;yazen.ghannam@amd.com&gt;
Signed-off-by: Borislav Petkov (AMD) &lt;bp@alien8.de&gt;
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20230403164244.471141-1-yazen.ghannam@amd.com
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>x86/amd_nb: Add AMD family 17h model 60h PCI IDs</title>
<updated>2020-06-22T07:31:17Z</updated>
<author>
<name>Alexander Monakov</name>
</author>
<published>2020-05-10T20:48:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=70ce85319d450a8e566467eab3395d318a69f832'/>
<id>urn:sha1:70ce85319d450a8e566467eab3395d318a69f832</id>
<content type='text'>
[ Upstream commit a4e91825d7e1252f7cba005f1451e5464b23c15d ]

Add PCI IDs for AMD Renoir (4000-series Ryzen CPUs). This is necessary
to enable support for temperature sensors via the k10temp module.

Signed-off-by: Alexander Monakov &lt;amonakov@ispras.ru&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Acked-by: Yazen Ghannam &lt;yazen.ghannam@amd.com&gt;
Acked-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Link: https://lkml.kernel.org/r/20200510204842.2603-2-amonakov@ispras.ru
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>x86/amd_nb: Add Family 19h PCI IDs</title>
<updated>2020-06-22T07:31:16Z</updated>
<author>
<name>Yazen Ghannam</name>
</author>
<published>2020-01-10T01:56:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9cfece5c0e2b774be5d613262b2df3789d2c5a3a'/>
<id>urn:sha1:9cfece5c0e2b774be5d613262b2df3789d2c5a3a</id>
<content type='text'>
[ Upstream commit b3f79ae45904ae987a7c06a9e8d6084d7b73e67f ]

Add the new PCI Device 18h IDs for AMD Family 19h systems. Note that
Family 19h systems will not have a new PCI root device ID.

Signed-off-by: Yazen Ghannam &lt;yazen.ghannam@amd.com&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Link: https://lkml.kernel.org/r/20200110015651.14887-4-Yazen.Ghannam@amd.com
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>x86/amd_nb: Add PCI device IDs for family 17h, model 70h</title>
<updated>2019-09-03T19:47:17Z</updated>
<author>
<name>Marcel Bocu</name>
</author>
<published>2019-07-22T17:45:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=af4e1c5eca95bed1192d8dc45c8ed63aea2209e8'/>
<id>urn:sha1:af4e1c5eca95bed1192d8dc45c8ed63aea2209e8</id>
<content type='text'>
The AMD Ryzen gen 3 processors came with a different PCI IDs for the
function 3 &amp; 4 which are used to access the SMN interface. The root
PCI address however remained at the same address as the model 30h.

Adding the F3/F4 PCI IDs respectively to the misc and link ids appear
to be sufficient for k10temp, so let's add them and follow up on the
patch if other functions need more tweaking.

Vicki Pfau sent an identical patch after I checked that no-one had
written this patch. I would have been happy about dropping my patch but
unlike for his patch series, I had already Cc:ed the x86 people and
they already reviewed the changes. Since Vicki has not answered to
any email after his initial series, let's assume she is on vacation
and let's avoid duplication of reviews from the maintainers and merge
my series. To acknowledge Vicki's anteriority, I added her S-o-b to
the patch.

v2, suggested by Guenter Roeck and Brian Woods:
 - rename from 71h to 70h

Signed-off-by: Vicki Pfau &lt;vi@endrift.com&gt;
Signed-off-by: Marcel Bocu &lt;marcel.p.bocu@gmail.com&gt;
Tested-by: Marcel Bocu &lt;marcel.p.bocu@gmail.com&gt;
Acked-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Brian Woods &lt;brian.woods@amd.com&gt;
Acked-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;	# pci_ids.h

Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Ingo Molnar &lt;mingo@redhat.com&gt;
Cc: Borislav Petkov &lt;bp@alien8.de&gt;
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Cc: x86@kernel.org
Cc: "Woods, Brian" &lt;Brian.Woods@amd.com&gt;
Cc: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Cc: Jean Delvare &lt;jdelvare@suse.com&gt;
Cc: Guenter Roeck &lt;linux@roeck-us.net&gt;
Cc: linux-hwmon@vger.kernel.org
Link: https://lore.kernel.org/r/20190722174510.2179-1-marcel.p.bocu@gmail.com
Signed-off-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2019-07-09T00:27:24Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2019-07-09T00:27:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5b7a2095232d026d4537c4be54040c0f10525b5b'/>
<id>urn:sha1:5b7a2095232d026d4537c4be54040c0f10525b5b</id>
<content type='text'>
Pull x86 cleanups from Ingo Molnar:
 "Misc small cleanups: removal of superfluous code and coding style
  cleanups mostly"

* 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/kexec: Make variable static and config dependent
  x86/defconfigs: Remove useless UEVENT_HELPER_PATH
  x86/amd_nb: Make hygon_nb_misc_ids static
  x86/tsc: Move inline keyword to the beginning of function declarations
  x86/io_delay: Define IO_DELAY macros in C instead of Kconfig
  x86/io_delay: Break instead of fallthrough in switch statement
</content>
</entry>
<entry>
<title>treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 477</title>
<updated>2019-06-19T15:09:51Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2019-06-04T08:11:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f9724741de5bcc2f788a1abfd104b162533c8f31'/>
<id>urn:sha1:f9724741de5bcc2f788a1abfd104b162533c8f31</id>
<content type='text'>
Based on 1 normalized pattern(s):

  subject to gplv2

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-only

has been chosen to replace the boilerplate/reference in 1 file(s).

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Enrico Weigelt &lt;info@metux.net&gt;
Reviewed-by: Allison Randal &lt;allison@lohutok.net&gt;
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190604081204.018005938@linutronix.de
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>x86/amd_nb: Make hygon_nb_misc_ids static</title>
<updated>2019-06-14T18:25:58Z</updated>
<author>
<name>YueHaibing</name>
</author>
<published>2019-06-14T15:54:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=025e32048f39e24d8ddf9369d679644ea2bdcce6'/>
<id>urn:sha1:025e32048f39e24d8ddf9369d679644ea2bdcce6</id>
<content type='text'>
Fix the following sparse warning:

  arch/x86/kernel/amd_nb.c:74:28: warning:
    symbol 'hygon_nb_misc_ids' was not declared. Should it be static?

Reported-by: Hulk Robot &lt;hulkci@huawei.com&gt;
Signed-off-by: YueHaibing &lt;yuehaibing@huawei.com&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Cc: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Cc: Brian Woods &lt;Brian.Woods@amd.com&gt;
Cc: Guenter Roeck &lt;linux@roeck-us.net&gt;
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Cc: Ingo Molnar &lt;mingo@redhat.com&gt;
Cc: Pu Wen &lt;puwen@hygon.cn&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: x86-ml &lt;x86@kernel.org&gt;
Link: https://lkml.kernel.org/r/20190614155441.22076-1-yuehaibing@huawei.com
</content>
</entry>
<entry>
<title>x86/amd_nb: Add PCI device IDs for family 17h, model 30h</title>
<updated>2018-11-07T20:36:09Z</updated>
<author>
<name>Woods, Brian</name>
</author>
<published>2018-11-06T20:08:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=be3518a16ef270e3b030a6ae96055f83f51bd3dd'/>
<id>urn:sha1:be3518a16ef270e3b030a6ae96055f83f51bd3dd</id>
<content type='text'>
Add the PCI device IDs for family 17h model 30h, since they are needed
for accessing various registers via the data fabric/SMN interface.

Signed-off-by: Brian Woods &lt;brian.woods@amd.com&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
CC: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
CC: Clemens Ladisch &lt;clemens@ladisch.de&gt;
CC: Guenter Roeck &lt;linux@roeck-us.net&gt;
CC: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
CC: Ingo Molnar &lt;mingo@redhat.com&gt;
CC: Jean Delvare &lt;jdelvare@suse.com&gt;
CC: Jia Zhang &lt;qianyue.zj@alibaba-inc.com&gt;
CC: &lt;linux-hwmon@vger.kernel.org&gt;
CC: &lt;linux-pci@vger.kernel.org&gt;
CC: Pu Wen &lt;puwen@hygon.cn&gt;
CC: Thomas Gleixner &lt;tglx@linutronix.de&gt;
CC: x86-ml &lt;x86@kernel.org&gt;
Link: http://lkml.kernel.org/r/20181106200754.60722-4-brian.woods@amd.com
</content>
</entry>
<entry>
<title>x86/amd_nb: Add support for newer PCI topologies</title>
<updated>2018-11-07T20:28:29Z</updated>
<author>
<name>Woods, Brian</name>
</author>
<published>2018-11-06T20:08:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=556e4c62baffa71e2045a298379db7e57dd47f3d'/>
<id>urn:sha1:556e4c62baffa71e2045a298379db7e57dd47f3d</id>
<content type='text'>
Add support for new processors which have multiple PCI root complexes
per data fabric/system management network interface.  If there are (N)
multiple PCI roots per DF/SMN interface, then the PCI roots are
redundant (as far as SMN/DF access goes).  For each DF/SMN interface:
map to the first available PCI root and skip the next N-1 PCI roots so
the following DF/SMN interface get mapped to a correct PCI root.

Ex:
DF/SMN 0 -&gt; 60
	    40
	    20
	    00
DF/SMN 1 -&gt; e0
	    c0
	    a0
	    80

Signed-off-by: Brian Woods &lt;brian.woods@amd.com&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
CC: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
CC: Clemens Ladisch &lt;clemens@ladisch.de&gt;
CC: Guenter Roeck &lt;linux@roeck-us.net&gt;
CC: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
CC: Ingo Molnar &lt;mingo@redhat.com&gt;
CC: Jean Delvare &lt;jdelvare@suse.com&gt;
CC: Jia Zhang &lt;qianyue.zj@alibaba-inc.com&gt;
CC: &lt;linux-hwmon@vger.kernel.org&gt;
CC: &lt;linux-pci@vger.kernel.org&gt;
CC: Pu Wen &lt;puwen@hygon.cn&gt;
CC: Thomas Gleixner &lt;tglx@linutronix.de&gt;
CC: x86-ml &lt;x86@kernel.org&gt;
Link: http://lkml.kernel.org/r/20181106200754.60722-3-brian.woods@amd.com
</content>
</entry>
</feed>
