<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/drivers/fsi, branch v5.10.42</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v5.10.42</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v5.10.42'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2020-12-30T10:53:46Z</updated>
<entry>
<title>fsi: Aspeed: Add mutex to protect HW access</title>
<updated>2020-12-30T10:53:46Z</updated>
<author>
<name>Eddie James</name>
<email>eajames@linux.ibm.com</email>
</author>
<published>2020-11-20T00:49:29Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=11b2118f4ddde9b09f23039f29bea81f11ec4117'/>
<id>urn:sha1:11b2118f4ddde9b09f23039f29bea81f11ec4117</id>
<content type='text'>
[ Upstream commit dfd7f2c1c532efaeff6084970bb60ec2f2e44191 ]

There is nothing to prevent multiple commands being executed
simultaneously. Add a mutex to prevent this.

Fixes: 606397d67f41 ("fsi: Add ast2600 master driver")
Reviewed-by: Joel Stanley &lt;joel@jms.id.au&gt;
Reviewed-by: Milton Miller &lt;miltonm@us.ibm.com&gt;
Signed-off-by: Eddie James &lt;eajames@linux.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
Link: https://lore.kernel.org/r/20201120004929.185239-1-joel@jms.id.au
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>fsi: aspeed: Support CFAM reset GPIO</title>
<updated>2020-09-10T02:56:43Z</updated>
<author>
<name>Joel Stanley</name>
<email>joel@jms.id.au</email>
</author>
<published>2020-07-28T02:55:27Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=4a851d714eadeabd65c7e321a2e7830f77d945c4'/>
<id>urn:sha1:4a851d714eadeabd65c7e321a2e7830f77d945c4</id>
<content type='text'>
Systems have a line for restting the remote CFAM. This is not part of
the FSI master, but is associated with it, so it makes sense to include
it in the master driver.

This exposes a sysfs interface to reset the cfam, abstracting away the
direction and polarity of the GPIO, as well as the timing of the reset
pulse. Userspace will be blocked until the reset pulse is finished.

The reset is hard coded to be in the range of (900, 1000) us. It was
observed with a scope to regularly be just over 1ms.

If the device tree property is not preset the driver will silently
continue.

Reviewed-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
Link: https://lore.kernel.org/r/20200728025527.174503-6-joel@jms.id.au
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>fsi: aspeed: Add module param for bus divisor</title>
<updated>2020-09-10T02:53:19Z</updated>
<author>
<name>Joel Stanley</name>
<email>joel@jms.id.au</email>
</author>
<published>2020-07-28T02:55:26Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=add6895188e49aa6b730d647ca896559370aa2be'/>
<id>urn:sha1:add6895188e49aa6b730d647ca896559370aa2be</id>
<content type='text'>
For testing and hardware debugging a user may wish to override the
divisor at runtime. By setting fsi_master_aspeed.bus_div=N, the divisor
will be set to N, if 0 &lt; N &lt;= 0x3ff.

This is a module parameter and not a device tree option as it will only
need to be set when testing or debugging.

Reviewed-by: Eddie James &lt;eajames@linux.ibm.com&gt;
Link: https://lore.kernel.org/r/20200728025527.174503-5-joel@jms.id.au
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>fsi: aspeed: Run the bus at maximum speed</title>
<updated>2020-09-10T02:53:17Z</updated>
<author>
<name>Joel Stanley</name>
<email>joel@jms.id.au</email>
</author>
<published>2020-07-28T02:55:25Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=4a80c2017bd9136a139773ba980341ea7e71dafd'/>
<id>urn:sha1:4a80c2017bd9136a139773ba980341ea7e71dafd</id>
<content type='text'>
Testing of Tacoma has shown that the ASPEED master can be run at maximum
speed.

The exception is when wired externally with a cable, in which case we
use a divisor of two to ensure reliable operation.

Reviewed-by: Eddie James &lt;eajames@linux.ibm.com&gt;
Link: https://lore.kernel.org/r/20200728025527.174503-4-joel@jms.id.au
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>fsi: aspeed: Support cabled FSI</title>
<updated>2020-09-10T02:53:14Z</updated>
<author>
<name>Joel Stanley</name>
<email>joel@jms.id.au</email>
</author>
<published>2020-07-28T02:55:24Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f369a29bdde9f14040e9f0cc4ac610cdb216e93c'/>
<id>urn:sha1:f369a29bdde9f14040e9f0cc4ac610cdb216e93c</id>
<content type='text'>
Some FSI capable systems have internal FSI signals, and some have
external cabled FSI. Software can detect which machine this is by
reading a jumper GPIO, and also control which pins the signals are
routed to through a mux GPIO.

This attempts to find the GPIOs at probe time. If they are not present
in the device tree the driver will not error and continue as before.

The mux GPIO is owned by the FSI driver to ensure it is not modified at
runtime. The routing jumper obtained as non-exclusive to allow other
software to inspect it's state.

Reviewed-by: Andrew Jeffery &lt;andrew@aj.id.au&gt;
Link: https://lore.kernel.org/r/20200728025527.174503-3-joel@jms.id.au
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>fsi: scom: Constify scom_ids</title>
<updated>2020-09-10T02:52:51Z</updated>
<author>
<name>Rikard Falkeborn</name>
<email>rikard.falkeborn@gmail.com</email>
</author>
<published>2020-08-05T23:26:24Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=59165631b7e9deca0b93b029a1112f4f8f3df736'/>
<id>urn:sha1:59165631b7e9deca0b93b029a1112f4f8f3df736</id>
<content type='text'>
The only usage of scom_ids is to assign its address to the id_table
field in the fsi_driver struct, which is a const pointer, so make it
const to allow the compiler to put it in read-only memory

Signed-off-by: Rikard Falkeborn &lt;rikard.falkeborn@gmail.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>fsi: sbefifo: Constify sbefifo_ids</title>
<updated>2020-09-10T02:52:50Z</updated>
<author>
<name>Rikard Falkeborn</name>
<email>rikard.falkeborn@gmail.com</email>
</author>
<published>2020-08-05T23:26:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f458c38f40fa7f03135b25e33884abc5fd028714'/>
<id>urn:sha1:f458c38f40fa7f03135b25e33884abc5fd028714</id>
<content type='text'>
The only usage of sbefifo_ids is to assign its address to the id_table
field in the fsi_driver struct, which is a const pointer, so make it
const to allow the compiler to put it in read-only memory

Signed-off-by: Rikard Falkeborn &lt;rikard.falkeborn@gmail.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>fsi: master: Constify hub_master_ids</title>
<updated>2020-09-10T02:52:50Z</updated>
<author>
<name>Rikard Falkeborn</name>
<email>rikard.falkeborn@gmail.com</email>
</author>
<published>2020-08-05T23:26:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=31901bb74f5618929ce94880691c8448765415ac'/>
<id>urn:sha1:31901bb74f5618929ce94880691c8448765415ac</id>
<content type='text'>
The only usage of hub_master_ids is to assign its address to the
id_table field in the fsi_driver struct, which is a const pointer, so
make it const to allow the compiler to put it in read-only memory.

Signed-off-by: Rikard Falkeborn &lt;rikard.falkeborn@gmail.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>fsi: master: Remove link enable read-back</title>
<updated>2020-09-10T02:52:49Z</updated>
<author>
<name>Eddie James</name>
<email>eajames@linux.ibm.com</email>
</author>
<published>2020-04-06T19:19:36Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=a1d5ce111aa2f8b9d5d4db3ed85b11e53251d676'/>
<id>urn:sha1:a1d5ce111aa2f8b9d5d4db3ed85b11e53251d676</id>
<content type='text'>
Both the Aspeed and hub masters read back the link enable register
after enabling the link, but this is unnecessary, so remove it.

Signed-off-by: Eddie James &lt;eajames@linux.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>fsi: core: Set slave local bus ownership during init</title>
<updated>2020-09-10T02:52:49Z</updated>
<author>
<name>Eddie James</name>
<email>eajames@linux.ibm.com</email>
</author>
<published>2020-05-20T18:17:07Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=196964a31cf8c4175fab28942071215e34f0a684'/>
<id>urn:sha1:196964a31cf8c4175fab28942071215e34f0a684</id>
<content type='text'>
The driver ought to claim local bus ownership of the slave it's
communicating with.

This is for multi-master setups. The slave (in theory) will deny access
to masters who try to access the CFAM address space but who don't "own"
the bus.

As driver doesn't seem to perform any other teardown there is no need to
"un-claim" ownership at teardown. Also I'm not aware of any multi-master
setup using this driver so it shouldn't actually matter. Also, the
hardware doesn't seem to enforce this despite being required in the
specification...

Signed-off-by: Eddie James &lt;eajames@linux.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
</feed>
