<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/drivers/char/hw_random, branch dev-4.10</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-4.10</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-4.10'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2017-07-07T06:40:45+00:00</updated>
<entry>
<title>hw_random: timeriomem_rng: Allow setting RNG quality from platform data</title>
<updated>2017-07-07T06:40:45+00:00</updated>
<author>
<name>Rick Altherr</name>
<email>raltherr@google.com</email>
</author>
<published>2017-05-22T21:12:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=ca7109ceca7610bf4f52d97d9952605b259c7a81'/>
<id>urn:sha1:ca7109ceca7610bf4f52d97d9952605b259c7a81</id>
<content type='text'>
When a hw_random device's quality is non-zero, it will automatically be
used to fill the kernel's entropy pool.  Since timeriomem_rng is used by
many different devices, the quality needs to be provided by platform
data or device tree.

Signed-off-by: Rick Altherr &lt;raltherr@google.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
(cherry picked from commit 284e76387c38260e834c99b010a68d75fc46b394)
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>Merge tag 'v4.10.17' into dev-4.10</title>
<updated>2017-06-05T02:24:15+00:00</updated>
<author>
<name>Joel Stanley</name>
<email>joel@jms.id.au</email>
</author>
<published>2017-06-05T02:24:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=309678aa4cae5fe45ddfa1cf312625499851b6e1'/>
<id>urn:sha1:309678aa4cae5fe45ddfa1cf312625499851b6e1</id>
<content type='text'>
This is the 4.10.17 stable release
</content>
</entry>
<entry>
<title>hwrng: timeriomem: Print error when failing to get resource</title>
<updated>2017-04-18T06:14:29+00:00</updated>
<author>
<name>Joel Stanley</name>
<email>joel@jms.id.au</email>
</author>
<published>2017-04-18T04:47:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=7bd7c717b178615eb8184b06af5b7da76801e512'/>
<id>urn:sha1:7bd7c717b178615eb8184b06af5b7da76801e512</id>
<content type='text'>
Required for debugging a bad device tree.

Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>hwrng: timeriomem - Improve performance for sub-jiffie update periods</title>
<updated>2017-04-11T06:10:08+00:00</updated>
<author>
<name>Rick Altherr</name>
<email>raltherr@google.com</email>
</author>
<published>2017-04-05T23:21:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=7f2b9ab4a45a538d65b32f0d1dfaee416c1d4613'/>
<id>urn:sha1:7f2b9ab4a45a538d65b32f0d1dfaee416c1d4613</id>
<content type='text'>
Some hardware RNGs provide a single register for obtaining random data.
Instead of signaling when new data is available, the reader must wait a
fixed amount of time between reads for new data to be generated.
timeriomem_rng implements this scheme with the period specified in
platform data or device tree.  While the period is specified in
microseconds, the implementation used a standard timer which has a
minimum delay of 1 jiffie and caused a significant bottleneck for
devices that can update at 1us.  By switching to an hrtimer, 1us periods
now only delay at most 2us per read.

Signed-off-by: Rick Altherr &lt;raltherr@google.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
(cherry picked from commit ca3bff70ab320a9132c5524c495455526df4b078)
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>hwrng: timeriomem - Shorten verbose type and variable names</title>
<updated>2017-04-11T06:10:00+00:00</updated>
<author>
<name>Rick Altherr</name>
<email>raltherr@google.com</email>
</author>
<published>2017-04-05T23:20:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=b0f8406ea1798608d1740f6646c67e2e7179db40'/>
<id>urn:sha1:b0f8406ea1798608d1740f6646c67e2e7179db40</id>
<content type='text'>
No functional changes.

Signed-off-by: Rick Altherr &lt;raltherr@google.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
(cherry picked from commit 5ab693e63a93c387171b4f7834b2f7bfe9b55f35)
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>hwrng: timeriomem - Migrate to new API</title>
<updated>2017-04-11T06:09:53+00:00</updated>
<author>
<name>Rick Altherr</name>
<email>raltherr@google.com</email>
</author>
<published>2017-04-05T23:20:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=b481a038649394f5ee18ed231adb19fd545655f6'/>
<id>urn:sha1:b481a038649394f5ee18ed231adb19fd545655f6</id>
<content type='text'>
Preserves the existing behavior of only returning 32-bits per call.

Signed-off-by: Rick Altherr &lt;raltherr@google.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
(cherry picked from commit 7acd4de7f2427c326776d49d630bd3530dd54ea6)
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>hwrng: geode - Revert managed API changes</title>
<updated>2017-03-30T07:44:07+00:00</updated>
<author>
<name>Prarit Bhargava</name>
<email>prarit@redhat.com</email>
</author>
<published>2017-03-14T11:36:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=76b5eb51114aab772fd85da3a5e936864fc2deaf'/>
<id>urn:sha1:76b5eb51114aab772fd85da3a5e936864fc2deaf</id>
<content type='text'>
commit 8c75704ebcac2ffa31ee7bcc359baf701b52bf00 upstream.

After commit e9afc746299d ("hwrng: geode - Use linux/io.h instead of
asm/io.h") the geode-rng driver uses devres with pci_dev-&gt;dev to keep
track of resources, but does not actually register a PCI driver.  This
results in the following issues:

1.  The driver leaks memory because the driver does not attach to a
device.  The driver only uses the PCI device as a reference.   devm_*()
functions will release resources on driver detach, which the geode-rng
driver will never do.  As a result,

2.  The driver cannot be reloaded because there is always a use of the
ioport and region after the first load of the driver.

Revert the changes made by  e9afc746299d ("hwrng: geode - Use linux/io.h
instead of asm/io.h").

Signed-off-by: Prarit Bhargava &lt;prarit@redhat.com&gt;
Fixes: 6e9b5e76882c ("hwrng: geode - Migrate to managed API")
Cc: Matt Mackall &lt;mpm@selenic.com&gt;
Cc: Corentin LABBE &lt;clabbe.montjoie@gmail.com&gt;
Cc: PrasannaKumar Muralidharan &lt;prasannatsmkumar@gmail.com&gt;
Cc: Wei Yongjun &lt;weiyongjun1@huawei.com&gt;
Cc: linux-crypto@vger.kernel.org
Cc: linux-geode@lists.infradead.org
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>hwrng: amd - Revert managed API changes</title>
<updated>2017-03-30T07:44:07+00:00</updated>
<author>
<name>Prarit Bhargava</name>
<email>prarit@redhat.com</email>
</author>
<published>2017-03-14T11:36:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=9b35f163f7fe408c9993a67d9a1c354b55cdfe4a'/>
<id>urn:sha1:9b35f163f7fe408c9993a67d9a1c354b55cdfe4a</id>
<content type='text'>
commit 69db7009318758769d625b023402161c750f7876 upstream.

After commit 31b2a73c9c5f ("hwrng: amd - Migrate to managed API"), the
amd-rng driver uses devres with pci_dev-&gt;dev to keep track of resources,
but does not actually register a PCI driver.  This results in the
following issues:

1. The message

WARNING: CPU: 2 PID: 621 at drivers/base/dd.c:349 driver_probe_device+0x38c

is output when the i2c_amd756 driver loads and attempts to register a PCI
driver.  The PCI &amp; device subsystems assume that no resources have been
registered for the device, and the WARN_ON() triggers since amd-rng has
already do so.

2.  The driver leaks memory because the driver does not attach to a
device.  The driver only uses the PCI device as a reference.   devm_*()
functions will release resources on driver detach, which the amd-rng
driver will never do.  As a result,

3.  The driver cannot be reloaded because there is always a use of the
ioport and region after the first load of the driver.

Revert the changes made by 31b2a73c9c5f ("hwrng: amd - Migrate to managed
API").

Signed-off-by: Prarit Bhargava &lt;prarit@redhat.com&gt;
Fixes: 31b2a73c9c5f ("hwrng: amd - Migrate to managed API").
Cc: Matt Mackall &lt;mpm@selenic.com&gt;
Cc: Corentin LABBE &lt;clabbe.montjoie@gmail.com&gt;
Cc: PrasannaKumar Muralidharan &lt;prasannatsmkumar@gmail.com&gt;
Cc: Wei Yongjun &lt;weiyongjun1@huawei.com&gt;
Cc: linux-crypto@vger.kernel.org
Cc: linux-geode@lists.infradead.org
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>hwrng: omap - Do not access INTMASK_REG on EIP76</title>
<updated>2017-03-26T11:08:11+00:00</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@free-electrons.com</email>
</author>
<published>2017-03-07T14:14:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=a42f27d91de7a62a35cb1c31844da7170263697e'/>
<id>urn:sha1:a42f27d91de7a62a35cb1c31844da7170263697e</id>
<content type='text'>
commit b985735be7afea3a5e0570ce2ea0b662c0e12e19 upstream.

The INTMASK_REG register does not exist on EIP76. Due to this, the call:

   omap_rng_write(priv, RNG_INTMASK_REG, RNG_SHUTDOWN_OFLO_MASK);

ends up, through the reg_map_eip76[] array, in accessing the register at
offset 0, which is the RNG_OUTPUT_0_REG. This by itself doesn't cause
any problem, but clearly doesn't enable the interrupt as it was
expected.

On EIP76, the register that allows to enable the interrupt is
RNG_CONTROL_REG. And just like RNG_INTMASK_REG, it's bit 1 of this
register that allows to enable the shutdown_oflo interrupt.

Fixes: 383212425c926 ("hwrng: omap - Add device variant for SafeXcel IP-76 found in Armada 8K")
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>hwrng: omap - use devm_clk_get() instead of of_clk_get()</title>
<updated>2017-03-26T11:08:11+00:00</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@free-electrons.com</email>
</author>
<published>2017-03-07T14:14:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=65eb69be199973a97967f10ee6e7e8377627564d'/>
<id>urn:sha1:65eb69be199973a97967f10ee6e7e8377627564d</id>
<content type='text'>
commit 761c2510283066324cab7859930777ee34cbca78 upstream.

The omap-rng driver currently uses of_clk_get() to get a reference to
the clock, but never releases that reference. This commit fixes that by
using devm_clk_get() instead.

Fixes: 383212425c926 ("hwrng: omap - Add device variant for SafeXcel IP-76 found in Armada 8K")
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
