support this IP block.
It also adds an extra field dev_id to struct w1_bus_master, which
could be in used in slave drivers for creating unique device names.
Signed-off-by: Thomas Bogendoerfer
---
drivers/w1/masters/Kconfig | 9 +++
drivers/w1/masters/Makefile | 1
2:
- fixed issue in ioc3kbd.c reported by Dmitry Torokhov
- merged IP27 RTC removal and 8250 serial driver addition into
main MFD patch to keep patches bisectable
Thomas Bogendoerfer (17):
w1: add 1-wire master driver for IP block found in SGI ASICs
w1: add DS2501, DS2502, DS2505 EPROM de
Before massaging the driver further fix oddities found by checkpatch like
- wrong indention
- comment formatting
- use of printk instead or netdev_xxx/pr_xxx
Signed-off-by: Thomas Bogendoerfer
---
drivers/net/ethernet/sgi/ioc3-eth.c | 275 +---
1 file changed
* SGI IOC3 multifunction device driver
+ *
+ * Copyright (C) 2018, 2019 Thomas Bogendoerfer
+ *
+ * Based on work by:
+ * Stanislaw Skowronek
+ * Joshua Kinard
+ * Brent Casavant - IOC4 master driver
+ * Pat Gefre - IOC3 serial port IRQ demuxer
+ */
+
+#include
+#include
+#include
+#i
This patch adds a platform driver for supporting keyboard and mouse
interface of SGI IOC3 chips.
Signed-off-by: Thomas Bogendoerfer
---
drivers/input/serio/Kconfig | 10 +++
drivers/input/serio/Makefile | 1 +
drivers/input/serio/ioc3kbd.c | 160
Removed not needed disabling of ethernet interrupts in IP27 platform code.
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/sgi-ip27/ip27-init.c | 13 -
1 file changed, 13 deletions(-)
diff --git a/arch/mips/sgi-ip27/ip27-init.c b/arch/mips/sgi-ip27/ip27-init.c
index 066b33f50bcc
Add a 1-Wire slave driver to support DS250x EPROM deivces. This
slave driver attaches the devices to the NVMEM subsystem for
an easy in-kernel usage.
Signed-off-by: Thomas Bogendoerfer
---
drivers/w1/slaves/Kconfig | 6 +
drivers/w1/slaves/Makefile| 1 +
drivers/w1/slaves
replace open coded checksum folding by csum_fold.
Signed-off-by: Thomas Bogendoerfer
---
drivers/net/ethernet/sgi/ioc3-eth.c | 6 +-
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/sgi/ioc3-eth.c
b/drivers/net/ethernet/sgi/ioc3-eth.c
index 647e3926bd71
different addresses for accesses to the
SuperIO and local bus of the IOC3 chip. This is fixed by changing
byte order in ioc3 and m48rtc_rtc structs.
Acked-by: Alexandre Belloni
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/include/asm/mach-ip27/mangle-port.h | 4 +--
arch/mips/include/asm/sn
IOC3 chips in SGI system are conntected to a bridge ASIC, which has
a 1-wire prom attached with part number information. This changeset
uses this information to create PCI subsystem information, which
the MFD driver uses for further platform device setup.
Signed-off-by: Thomas Bogendoerfer
Replace the homegrown DMA memory allocation, which only works on
SGI-IP27 machines, with the generic dma allocations.
Signed-off-by: Thomas Bogendoerfer
---
drivers/net/ethernet/sgi/ioc3-eth.c | 107 ++--
1 file changed, 77 insertions(+), 30 deletions(-)
diff
The half/full duplex settings for inter packet gap counters/timer were
reversed.
Signed-off-by: Thomas Bogendoerfer
---
drivers/net/ethernet/sgi/ioc3-eth.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/sgi/ioc3-eth.c
b/drivers/net/ethernet/sgi
Descriptor ring sizes of the IOC3 are more or less fixed size. To
make clearer where there is a relation to ring sizes use defines.
Signed-off-by: Thomas Bogendoerfer
---
drivers/net/ethernet/sgi/ioc3-eth.c | 42 +
1 file changed, 24 insertions(+), 18
Break up the big ioc3 register struct into functional pieces to
make use in sub-function drivers more straightforward. And while
doing that get rid of all volatile access by using readX/writeX.
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/include/asm/sn/ioc3.h | 359
Buffers alloacted by alloc_skb() are already cache aligned so there
is no need for an extra align done by ioc3_alloc_skb. And instead
of skb_put/skb_trim simply use one skb_put after frame size is known
during receive.
Signed-off-by: Thomas Bogendoerfer
---
drivers/net/ethernet/sgi/ioc3-eth.c
netif_stop_queue()/netif_wake_qeue() aren't needed for changing
multicast filters. Use spinlocks instead for proper protection
of private struct.
Signed-off-by: Thomas Bogendoerfer
---
drivers/net/ethernet/sgi/ioc3-eth.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --
Refactored code to only have one ioc3 special handling for read
access and one for write access.
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/pci/pci-xtalk-bridge.c | 167 +++
1 file changed, 62 insertions(+), 105 deletions(-)
diff --git a/arch/mips/pci
nvmem_device_find provides a way to search for nvmem devices with
the help of a match function simlair to bus_find_device.
Signed-off-by: Thomas Bogendoerfer
---
Documentation/driver-api/nvmem.rst | 2 ++
drivers/nvmem/core.c | 62 --
include
On Tue, 20 Aug 2019 08:23:08 +0200
Alexandre Belloni wrote:
> On 19/08/2019 18:31:38+0200, Thomas Bogendoerfer wrote:
> > diff --git a/drivers/mfd/ioc3.c b/drivers/mfd/ioc3.c
> > new file mode 100644
> > index ..5bcb3461a189
> > --- /dev/null
> > +++
On Mon, 19 Aug 2019 17:04:53 -0700
Jakub Kicinski wrote:
> On Mon, 19 Aug 2019 18:31:34 +0200, Thomas Bogendoerfer wrote:
> > netif_stop_queue()/netif_wake_qeue() aren't needed for changing
> > multicast filters. Use spinlocks instead for proper protection
> > of
On Mon, 19 Aug 2019 16:55:22 -0700
Jakub Kicinski wrote:
> On Mon, 19 Aug 2019 18:31:33 +0200, Thomas Bogendoerfer wrote:
> > Buffers alloacted by alloc_skb() are already cache aligned so there
> > is no need for an extra align done by ioc3_alloc_skb. And instead
> > of sk
nvmem_device_find provides a way to search for nvmem devices with
the help of a match function simlair to bus_find_device.
Signed-off-by: Thomas Bogendoerfer
---
Documentation/driver-api/nvmem.rst | 2 ++
drivers/nvmem/core.c | 61 +-
include
On Mon, Aug 26, 2019 at 03:08:28PM +0200, Thomas Bogendoerfer wrote:
> nvmem_device_find provides a way to search for nvmem devices with
> the help of a match function simlair to bus_find_device.
>
> Signed-off-by: Thomas Bogendoerfer
> ---
> Documentation/driver-
* SGI IOC3 multifunction device driver
+ *
+ * Copyright (C) 2018, 2019 Thomas Bogendoerfer
+ *
+ * Based on work by:
+ * Stanislaw Skowronek
+ * Joshua Kinard
+ * Brent Casavant - IOC4 master driver
+ * Pat Gefre - IOC3 serial port IRQ demuxer
+ */
+
+#include
+#include
+#include
+#i
ded IP30 system board setup to MFD driver
- mac address is now read from ioc3-eth driver with nvmem framework
Changes in v2:
- fixed issue in ioc3kbd.c reported by Dmitry Torokhov
- merged IP27 RTC removal and 8250 serial driver addition into
main MFD patch to keep patches bisectable
Thomas B
different addresses for accesses to the
SuperIO and local bus of the IOC3 chip. This is fixed by changing
byte order in ioc3 and m48rtc_rtc structs.
Acked-by: Alexandre Belloni
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/include/asm/mach-ip27/mangle-port.h | 4 +--
arch/mips/include/asm/sn
IOC3 chips in SGI system are conntected to a bridge ASIC, which has
a 1-wire prom attached with part number information. This changeset
uses this information to create PCI subsystem information, which
the MFD driver uses for further platform device setup.
Signed-off-by: Thomas Bogendoerfer
nvmem_device_find provides a way to search for nvmem devices with
the help of a match function simlair to bus_find_device.
Signed-off-by: Thomas Bogendoerfer
---
Documentation/driver-api/nvmem.rst | 2 ++
drivers/nvmem/core.c | 61 +-
include
On Wed, 2 Oct 2019 18:33:28 +
Paul Burton wrote:
> Hello,
>
> On Tue, Oct 01, 2019 at 11:11:58AM +0100, Srinivas Kandagatla wrote:
> > On 23/09/2019 12:46, Thomas Bogendoerfer wrote:
> > > nvmem_device_find provides a way to search for nvmem devices with
> >
IOC3 chips in SGI system are conntected to a bridge ASIC, which has
a 1-wire prom attached with part number information. This changeset
uses this information to create PCI subsystem information, which
the MFD driver uses for further platform device setup.
Signed-off-by: Thomas Bogendoerfer
PROM only enables ethernet PHY on first Origin 200 module, so we must
do it ourselves for the second module.
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/pci/pci-ip27.c | 22 ++
1 file changed, 22 insertions(+)
diff --git a/arch/mips/pci/pci-ip27.c b/arch/mips/pci/pci
different addresses for accesses to the
SuperIO and local bus of the IOC3 chip. This is fixed by changing
byte order in ioc3 and m48rtc_rtc structs.
Acked-by: Alexandre Belloni
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/include/asm/mach-ip27/mangle-port.h | 4 +--
arch/mips/include/asm/sn
: GPL-2.0
+/*
+ * SGI IOC3 multifunction device driver
+ *
+ * Copyright (C) 2018, 2019 Thomas Bogendoerfer
+ *
+ * Based on work by:
+ * Stanislaw Skowronek
+ * Joshua Kinard
+ * Brent Casavant - IOC4 master driver
+ * Pat Gefre - IOC3 serial port IRQ demuxer
+ */
+
+#include
+#incl
- merged IP27 RTC removal and 8250 serial driver addition into
main MFD patch to keep patches bisectable
Thomas Bogendoerfer (5):
nvmem: core: add nvmem_device_find
MIPS: PCI: use information from 1-wire PROM for IOC3 detection
mfd: ioc3: Add driver for SGI IOC3 chip
MIPS: SGI-IP27: fix
nvmem_device_find provides a way to search for nvmem devices with
the help of a match function simlair to bus_find_device.
Reviewed-by: Srinivas Kandagatla
Acked-by: Srinivas Kandagatla
Signed-off-by: Thomas Bogendoerfer
---
Documentation/driver-api/nvmem.rst | 2 ++
drivers/nvmem/core.c
On Fri, 4 Oct 2019 15:44:53 +0100
Lee Jones wrote:
> On Thu, 03 Oct 2019, Thomas Bogendoerfer wrote:
> > + if (mask & BIT(IOC3_IRQ_ETH_DOMAIN))
> > + /* if eth irq is enabled we need to check in eth irq regs */
>
> Nit: Comments should be expressive.
Jones
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/sgi-ip27/ip27-timer.c | 20 --
drivers/mfd/Kconfig | 13 +
drivers/mfd/Makefile| 1 +
drivers/mfd/ioc3.c | 588
drivers/net/ethernet/sgi/Kconfig
PROM only enables ethernet PHY on first Origin 200 module, so we must
do it ourselves for the second module.
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/pci/pci-ip27.c | 22 ++
1 file changed, 22 insertions(+)
diff --git a/arch/mips/pci/pci-ip27.c b/arch/mips/pci/pci
IOC3 chips in SGI system are conntected to a bridge ASIC, which has
a 1-wire prom attached with part number information. This changeset
uses this information to create PCI subsystem information, which
the MFD driver uses for further platform device setup.
Signed-off-by: Thomas Bogendoerfer
nvmem_device_find provides a way to search for nvmem devices with
the help of a match function simlair to bus_find_device.
Reviewed-by: Srinivas Kandagatla
Acked-by: Srinivas Kandagatla
Signed-off-by: Thomas Bogendoerfer
---
Documentation/driver-api/nvmem.rst | 2 ++
drivers/nvmem/core.c
different addresses for accesses to the
SuperIO and local bus of the IOC3 chip. This is fixed by changing
byte order in ioc3 and m48rtc_rtc structs.
Acked-by: Alexandre Belloni
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/include/asm/mach-ip27/mangle-port.h | 4 +--
arch/mips/include/asm/sn
d by Dmitry Torokhov
- merged IP27 RTC removal and 8250 serial driver addition into
main MFD patch to keep patches bisectable
Thomas Bogendoerfer (5):
nvmem: core: add nvmem_device_find
MIPS: PCI: use information from 1-wire PROM for IOC3 detection
mfd: ioc3: Add driver for SGI IOC3 chip
On Wed, 9 Oct 2019 20:17:14 -0700
Jakub Kicinski wrote:
> On Wed, 9 Oct 2019 12:17:10 +0200, Thomas Bogendoerfer wrote:
> [...]
> > +static int ioc3_cad_duo_setup(struct ioc3_priv_data *ipd)
> > +{
> > + int ret;
> > +
> > + ret = ioc3_irq_domain_setup(i
different addresses for accesses to the
SuperIO and local bus of the IOC3 chip. This is fixed by changing
byte order in ioc3 and m48rtc_rtc structs.
Acked-by: Alexandre Belloni
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/include/asm/mach-ip27/mangle-port.h | 4 +--
arch/mips/include/asm/sn
Jones
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/sgi-ip27/ip27-timer.c | 20 --
drivers/mfd/Kconfig | 13 +
drivers/mfd/Makefile| 1 +
drivers/mfd/ioc3.c | 605
drivers/net/ethernet/sgi/Kconfig
nvmem_device_find provides a way to search for nvmem devices with
the help of a match function simlair to bus_find_device.
Reviewed-by: Srinivas Kandagatla
Acked-by: Srinivas Kandagatla
Signed-off-by: Thomas Bogendoerfer
---
Documentation/driver-api/nvmem.rst | 2 ++
drivers/nvmem/core.c
al driver addition into
main MFD patch to keep patches bisectable
Thomas Bogendoerfer (5):
nvmem: core: add nvmem_device_find
MIPS: PCI: use information from 1-wire PROM for IOC3 detection
mfd: ioc3: Add driver for SGI IOC3 chip
MIPS: SGI-IP27: fix readb/writeb addressing
MIPS: SGI-IP27: E
IOC3 chips in SGI system are conntected to a bridge ASIC, which has
a 1-wire prom attached with part number information. This changeset
uses this information to create PCI subsystem information, which
the MFD driver uses for further platform device setup.
Signed-off-by: Thomas Bogendoerfer
PROM only enables ethernet PHY on first Origin 200 module, so we must
do it ourselves for the second module.
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/pci/pci-ip27.c | 22 ++
1 file changed, 22 insertions(+)
diff --git a/arch/mips/pci/pci-ip27.c b/arch/mips/pci/pci
On Thu, 10 Oct 2019 20:00:02 -0700
Jakub Kicinski wrote:
> On Thu, 10 Oct 2019 16:59:49 +0200, Thomas Bogendoerfer wrote:
> > dev = alloc_etherdev(sizeof(struct ioc3_private));
> > - if (!dev) {
> > - err = -ENOMEM;
> > - goto out_disable;
On Thu, 10 Oct 2019 19:37:15 +0300
Sergei Shtylyov wrote:
> On 10/10/2019 05:59 PM, Thomas Bogendoerfer wrote:
> > + /* enable ethernet PHY on IP29 systemboard */
> > + pci_read_config_dword(dev, PCI_SUBSYSTEM_VENDOR_ID, &sid);
> > + if (sid ==
Jones
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/sgi-ip27/ip27-timer.c | 20 --
drivers/mfd/Kconfig | 13 +
drivers/mfd/Makefile| 1 +
drivers/mfd/ioc3.c | 605
drivers/net/ethernet/sgi/Kconfig
different addresses for accesses to the
SuperIO and local bus of the IOC3 chip. This is fixed by changing
byte order in ioc3 and m48rtc_rtc structs.
Acked-by: Alexandre Belloni
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/include/asm/mach-ip27/mangle-port.h | 4 +--
arch/mips/include/asm/sn
IOC3 chips in SGI system are conntected to a bridge ASIC, which has
a 1-wire prom attached with part number information. This changeset
uses this information to create PCI subsystem information, which
the MFD driver uses for further platform device setup.
Signed-off-by: Thomas Bogendoerfer
PROM only enables ethernet PHY on first Origin 200 module, so we must
do it ourselves for the second module.
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/pci/pci-ip27.c | 22 ++
1 file changed, 22 insertions(+)
diff --git a/arch/mips/pci/pci-ip27.c b/arch/mips/pci/pci
sue in ioc3kbd.c reported by Dmitry Torokhov
- merged IP27 RTC removal and 8250 serial driver addition into
main MFD patch to keep patches bisectable
Thomas Bogendoerfer (6):
nvmem: core: add nvmem_device_find
MIPS: PCI: use information from 1-wire PROM for IOC3 detection
MIPS: PCI: Fix fak
nvmem_device_find provides a way to search for nvmem devices with
the help of a match function simlair to bus_find_device.
Reviewed-by: Srinivas Kandagatla
Acked-by: Srinivas Kandagatla
Signed-off-by: Thomas Bogendoerfer
---
Documentation/driver-api/nvmem.rst | 2 ++
drivers/nvmem/core.c
Generation of fake subdevice ID had vendor and device ID swapped.
Signed-off-by: Thomas Bogendoerfer
---
arch/mips/pci/pci-xtalk-bridge.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/mips/pci/pci-xtalk-bridge.c b/arch/mips/pci/pci-xtalk-bridge.c
index dcf6117a17c3
On Tue, 15 Oct 2019 12:23:49 -0700
Jakub Kicinski wrote:
> On Tue, 15 Oct 2019 14:09:49 +0200, Thomas Bogendoerfer wrote:
> > SGI IOC3 chip has integrated ethernet, keyboard and mouse interface.
> > It also supports connecting a SuperIO chip for serial and parallel
> > int
On Wed, 16 Oct 2019 10:38:13 -0700
Jakub Kicinski wrote:
> On Wed, 16 Oct 2019 19:23:21 +0200, Thomas Bogendoerfer wrote:
> > On Tue, 15 Oct 2019 12:23:49 -0700
> > Jakub Kicinski wrote:
> >
> > > On Tue, 15 Oct 2019 14:09:49 +0200, Thomas Bogendoerfer wrot
60 matches
Mail list logo