<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/drivers/char, branch dev-5.14-intel</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-5.14-intel</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-5.14-intel'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2021-10-19T22:10:33+00:00</updated>
<entry>
<title>ipmi: ipmb_dev_int: add quick fix for raw I2C type registration</title>
<updated>2021-10-19T22:10:33+00:00</updated>
<author>
<name>Jae Hyun Yoo</name>
<email>jae.hyun.yoo@intel.com</email>
</author>
<published>2020-01-29T00:14:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=83ae0f3e96bc6ad80c9f3f14eba8f47f47f09f7b'/>
<id>urn:sha1:83ae0f3e96bc6ad80c9f3f14eba8f47f47f09f7b</id>
<content type='text'>
This commit adds quick fix for cases of run time registration
through sysfs. It should be fixed later by adding parsing code for
ipmb_id instead.

This is a temporary fix. Do not upstream it.

Signed-off-by: Jae Hyun Yoo &lt;jae.hyun.yoo@intel.com&gt;
</content>
</entry>
<entry>
<title>char: ipmi: Add clock control logic into Aspeed LPC KCS driver</title>
<updated>2021-10-19T22:10:31+00:00</updated>
<author>
<name>Jae Hyun Yoo</name>
<email>jae.hyun.yoo@intel.com</email>
</author>
<published>2019-03-13T22:36:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=6304186ec6841a0a4cb41a3bb83b0b5e5dad3abf'/>
<id>urn:sha1:6304186ec6841a0a4cb41a3bb83b0b5e5dad3abf</id>
<content type='text'>
If LPC KCS driver is registered ahead of lpc-ctrl module, LPC KCS
block will be enabled without heart beating of LCLK until lpc-ctrl
enables the LCLK. This issue causes improper handling on host
interrupts when the host sends interrupt in that time frame. Then
kernel eventually forcibly disables the interrupt with dumping
stack and printing a 'nobody cared this irq' message out.

To prevent this issue, all LPC sub-nodes should enable LCLK
individually so this patch adds clock control logic into the LPC
KCS driver.

Signed-off-by: Jae Hyun Yoo &lt;jae.hyun.yoo@intel.com&gt;
Signed-off-by: Vernon Mauery &lt;vernon.mauery@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>char: ipmi: Add clock control logic into Aspeed LPC BT driver</title>
<updated>2021-10-19T22:10:30+00:00</updated>
<author>
<name>Jae Hyun Yoo</name>
<email>jae.hyun.yoo@intel.com</email>
</author>
<published>2019-03-13T22:04:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=ff6fb662a6b911b65ab7ca7a54b946dde30de40b'/>
<id>urn:sha1:ff6fb662a6b911b65ab7ca7a54b946dde30de40b</id>
<content type='text'>
If LPC BT driver is registered ahead of lpc-ctrl module, LPC BT
block will be enabled without heart beating of LCLK until lpc-ctrl
enables the LCLK. This issue causes improper handling on host
interrupts when the host sends interrupt in that time frame. Then
kernel eventually forcibly disables the interrupt with dumping
stack and printing a 'nobody cared this irq' message out.

To prevent this issue, all LPC sub-nodes should enable LCLK
individually so this patch adds clock control logic into the LPC
BT driver.

Signed-off-by: Jae Hyun Yoo &lt;jae.hyun.yoo@intel.com&gt;
Signed-off-by: Vernon Mauery &lt;vernon.mauery@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>ipmi: bt-bmc: Use registers directly</title>
<updated>2021-10-11T06:02:34+00:00</updated>
<author>
<name>Joel Stanley</name>
<email>joel@jms.id.au</email>
</author>
<published>2021-09-03T05:10:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=1f70063150162601eb5f811c19b637d1c0cad622'/>
<id>urn:sha1:1f70063150162601eb5f811c19b637d1c0cad622</id>
<content type='text'>
This driver was originally written to use the regmap abstraction with no
clear benefit. As the registers are always mmio and there is no sharing
of the region with other devices, we can safely read and write without
the locking that regmap provides.

This reduces the code size of the driver by about 25%.

OpenBMC-Staging-Count: 1
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
Message-Id: &lt;20210903051039.307991-1-joel@jms.id.au&gt;
Signed-off-by: Corey Minyard &lt;cminyard@mvista.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'v5.14.6' into dev-5.14</title>
<updated>2021-09-22T00:13:12+00:00</updated>
<author>
<name>Joel Stanley</name>
<email>joel@jms.id.au</email>
</author>
<published>2021-09-22T00:13:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=5fa6722422299ba19d11579cf3cef038f183b80b'/>
<id>urn:sha1:5fa6722422299ba19d11579cf3cef038f183b80b</id>
<content type='text'>
This is the 5.14.6 stable release
</content>
</entry>
<entry>
<title>char: tpm: Kconfig: remove bad i2c cr50 select</title>
<updated>2021-09-15T08:02:35+00:00</updated>
<author>
<name>Adrian Ratiu</name>
<email>adrian.ratiu@collabora.com</email>
</author>
<published>2021-07-27T17:13:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=2d2c7d860fc7d5e6ef4fa4335302504832837ecd'/>
<id>urn:sha1:2d2c7d860fc7d5e6ef4fa4335302504832837ecd</id>
<content type='text'>
commit 847fdae1579f4ee930b01f24a7847b8043bf468c upstream.

This fixes a minor bug which went unnoticed during the initial
driver upstreaming review: TCG_CR50 does not exist in mainline
kernels, so remove it.

Fixes: 3a253caaad11 ("char: tpm: add i2c driver for cr50")
Cc: stable@vger.kernel.org
Reviewed-by: Jarkko Sakkinen &lt;jarkko@kernel.org&gt;
Signed-off-by: Adrian Ratiu &lt;adrian.ratiu@collabora.com&gt;
Signed-off-by: Jarkko Sakkinen &lt;jarkko@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>tpm: ibmvtpm: Avoid error message when process gets signal while waiting</title>
<updated>2021-09-15T08:02:09+00:00</updated>
<author>
<name>Stefan Berger</name>
<email>stefanb@linux.ibm.com</email>
</author>
<published>2021-08-12T19:45:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=196f5d734acdd3f3c6dbd57066415091db6bec99'/>
<id>urn:sha1:196f5d734acdd3f3c6dbd57066415091db6bec99</id>
<content type='text'>
[ Upstream commit 047d4226b0bca1cda5267dc68bc8291cce5364ac ]

When rngd is run as root then lots of these types of message will appear
in the kernel log if the TPM has been configured to provide random bytes:

[ 7406.275163] tpm tpm0: tpm_transmit: tpm_recv: error -4

The issue is caused by the following call that is interrupted while
waiting for the TPM's response.

sig = wait_event_interruptible(ibmvtpm-&gt;wq, !ibmvtpm-&gt;tpm_processing_cmd);

Rather than waiting for the response in the low level driver, have it use
the polling loop in tpm_try_transmit() that uses a command's duration to
poll until a result has been returned by the TPM, thus ending when the
timeout has occurred but not responding to signals and ctrl-c anymore. To
stay in this polling loop extend tpm_ibmvtpm_status() to return
'true' for as long as the vTPM is indicated as being busy in
tpm_processing_cmd. Since the loop requires the TPM's timeouts, get them
now using tpm_get_timeouts() after setting the TPM2 version flag on the
chip.

To recreat the resolved issue start rngd like this:

sudo rngd -r /dev/hwrng -t
sudo rngd -r /dev/tpm0 -t

Link: https://bugzilla.redhat.com/show_bug.cgi?id=1981473
Fixes: 6674ff145eef ("tpm_ibmvtpm: properly handle interrupted packet receptions")
Cc: Nayna Jain &lt;nayna@linux.ibm.com&gt;
Cc: George Wilson &lt;gcwilson@linux.ibm.com&gt;
Reported-by: Nageswara R Sastry &lt;rnsastry@linux.ibm.com&gt;
Signed-off-by: Stefan Berger &lt;stefanb@linux.ibm.com&gt;
Tested-by: Nageswara R Sastry &lt;rnsastry@linux.ibm.com&gt;
Reviewed-by: Jarkko Sakkinen &lt;jarkko@kernel.org&gt;
Signed-off-by: Jarkko Sakkinen &lt;jarkko@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>ipmi: kcs_bmc: Add a "raw" character device interface</title>
<updated>2021-09-08T00:22:50+00:00</updated>
<author>
<name>Andrew Jeffery</name>
<email>andrew@aj.id.au</email>
</author>
<published>2021-06-23T03:38:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=106e4c8ea66adc5115001cb40086c9cc274f9b4b'/>
<id>urn:sha1:106e4c8ea66adc5115001cb40086c9cc274f9b4b</id>
<content type='text'>
The existing IPMI chardev encodes IPMI behaviours as the name suggests.
However, KCS devices are useful beyond IPMI (or keyboards), as they
provide a means to generate IRQs and exchange arbitrary data between a
BMC and its host system.

Implement a "raw" KCS character device that exposes the IDR, ODR and STR
registers to userspace via read() and write() implemented on a character
device:

+--------+--------+---------+
| Offset | read() | write() |
+--------+--------+---------+
|   0    |   IDR  |   ODR   |
+--------+--------+---------+
|   1    |   STR  |   STR   |
+--------+--------+---------+

This interface allows userspace to implement arbitrary (though somewhat
inefficient) protocols for exchanging information between a BMC and host
firmware. Conceptually the KCS interface can be used as an out-of-band
mechanism for interrupt-signaled control messages while bulk data
transfers occur over more appropriate interfaces between the BMC and the
host (which may lack their own interrupt mechanism, e.g. LPC FW cycles).

poll() is provided, which will wait for IBF or OBE conditions for data
reads and writes respectively. Reads of STR on its own never blocks,
though accessing both offsets in the one system call may block if the
data registers are not ready.

OpenBMC-Staging-Count: 2
Signed-off-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
Link: https://lore.kernel.org/r/20210623033854.587464-3-andrew@aj.id.au
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>ipmi: aspeed-g6: Add compatible strings</title>
<updated>2021-09-08T00:22:48+00:00</updated>
<author>
<name>Brad Bishop</name>
<email>bradleyb@fuzziesquirrel.com</email>
</author>
<published>2019-09-25T12:56:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=89e114557287ca9bffa23676f72c2db978df5efb'/>
<id>urn:sha1:89e114557287ca9bffa23676f72c2db978df5efb</id>
<content type='text'>
The AST2600 SoC contains the same IPMI (BT/KCS) devices as the AST2500.

OpenBMC-Staging-Count: 6
Reviewed-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
Signed-off-by: Brad Bishop &lt;bradleyb@fuzziesquirrel.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>/dev/mem: add a devmem kernel parameter to activate the device</title>
<updated>2021-09-06T12:18:55+00:00</updated>
<author>
<name>Cédric Le Goater</name>
<email>clg@kaod.org</email>
</author>
<published>2018-10-12T08:07:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=60983871d7f3242f8071aac765973c008d040406'/>
<id>urn:sha1:60983871d7f3242f8071aac765973c008d040406</id>
<content type='text'>
For security reasons, some configuration needs to run without /dev/mem
but on some occasions, to debug HW for instance, it's still useful to
be able to reboot the system with access to physical memory.

Add a kernel parameter which activates the /dev/mem device only when
'mem.devmem' is enabled.

OpenBMC-Staging-Count: 11
Signed-off-by: Cédric Le Goater &lt;clg@kaod.org&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
</feed>
