[PATCH V2 16/16] net: iosm: infrastructure

2021-04-20 Thread M Chetan Kumar
1) Kconfig & Makefile changes for IOSM Driver compilation. 2) Modified driver/net Kconfig & Makefile for driver inclusion. 3) Add IOSM Driver documentation. 4) Modified MAINTAINER file for IOSM Driver addition. Signed-off-by: M Chetan Kumar --- v2: * Moved driver documentation to

[PATCH V2 15/16] net: iosm: net driver

2021-04-20 Thread M Chetan Kumar
1) Create net device & implement net operations for data/IP communication. 2) Bind IP Link to mux IP session for simultaneous IP traffic. Signed-off-by: M Chetan Kumar --- v2: * Removed Ethernet header & VLAN tag handling from wwan net driver. * Implement rtnet_link interface for IP

[PATCH V2 14/16] net: iosm: uevent support

2021-04-20 Thread M Chetan Kumar
Report modem status via uevent. Signed-off-by: M Chetan Kumar --- v2: Removed non-related header file inclusion. --- drivers/net/wwan/iosm/iosm_ipc_uevent.c | 44 + drivers/net/wwan/iosm/iosm_ipc_uevent.h | 41 +++ 2 files changed, 85 insertions

[PATCH V2 13/16] net: iosm: protocol operations

2021-04-20 Thread M Chetan Kumar
1) Update UL/DL transfer descriptors in message ring. 2) Define message set for pipe/sleep protocol. Signed-off-by: M Chetan Kumar --- v2: * Endianness type correction for Host-Device protocol structure. * Function signature documentation correction. * Streamline multiple returns using goto

[PATCH V2 12/16] net: iosm: shared memory protocol

2021-04-20 Thread M Chetan Kumar
1) Defines messaging protocol for handling Transfer Descriptor in both UL/DL direction. 2) Ring buffer management. Signed-off-by: M Chetan Kumar --- v2: * Endianness type correction for Host-device protocol structure. * Function signature documentation correction. * Streamline multiple

[PATCH V2 11/16] net: iosm: power management

2021-04-20 Thread M Chetan Kumar
Implements state machine to handle host & device sleep. Signed-off-by: M Chetan Kumar --- v2: * Removed space around the : for the bitfields. * Moved pm module under static allocation * Added memory barriers around atomic operations. --- drivers/net/wwan/iosm/iosm_ipc_pm.c |

[PATCH V2 09/16] net: iosm: multiplex IP sessions

2021-04-20 Thread M Chetan Kumar
Establish IP session between host-device & session management. Signed-off-by: M Chetan Kumar --- v2: * Endianness type correction for Host-Device protocol structure. * Removed space around the : for the bitfields. * Change session from dynamic to static. * Streamline multiple returns using

[PATCH V2 10/16] net: iosm: encode or decode datagram

2021-04-20 Thread M Chetan Kumar
1) Encode UL packet into datagram. 2) Decode DL datagram and route it to network layer. 3) Supports credit based flow control. Signed-off-by: M Chetan Kumar --- v2: * Endianness type correction for Host-Device protocol structure. * Function signature documentation correction. * Streamline

[PATCH V2 08/16] net: iosm: bottom half

2021-04-20 Thread M Chetan Kumar
1) Bottom half(tasklet) for IRQ and task processing. 2) Tasks are processed asynchronous and synchronously. Signed-off-by: M Chetan Kumar --- v2: * Moved task queue struct to header file. * Streamline multiple returns using goto. --- drivers/net/wwan/iosm/iosm_ipc_task_queue.c | 202

[PATCH V2 07/16] net: iosm: mbim control device

2021-04-20 Thread M Chetan Kumar
Implements a char device for MBIM protocol communication & provides a simple IOCTL for max transfer buffer size configuration. Signed-off-by: M Chetan Kumar --- v2: * Renamed iosm_sio struct to iosm_cdev. * Added memory barriers around atomic operations. --- drivers/net/wwan/

[PATCH V2 06/16] net: iosm: channel configuration

2021-04-20 Thread M Chetan Kumar
Defines pipes & channel configurations like channel type, pipe mappings, No. of transfer descriptors and transfer buffer size etc. Signed-off-by: M Chetan Kumar --- v2: * Return proper error code instead of returning -1. * Define IPC channels in serial order. --- drivers/net/wwan/

[PATCH V2 04/16] net: iosm: shared memory IPC interface

2021-04-20 Thread M Chetan Kumar
1) Initializes shared memory for host-device communication. 2) Allocate resources required for control & data operations. 3) Transfers the Device IRQ to IPC execution thread. 4) Defines the timer cbs for async events. Signed-off-by: M Chetan Kumar --- v2: * Clean-up vlan tag ids & re

[PATCH V2 05/16] net: iosm: shared memory I/O operations

2021-04-20 Thread M Chetan Kumar
1) Binds logical channel between host-device for communication. 2) Implements device specific(Char/Net) IO operations. Signed-off-by: M Chetan Kumar --- v2: * Change vlan_id to ip link if_id & document correction. * Define new enums for IP & DSS session mapping. * Return proper er

[PATCH V2 03/16] net: iosm: mmio scratchpad

2021-04-20 Thread M Chetan Kumar
1) Initializes the Scratchpad region for Host-Device communication. 2) Exposes device capabilities like chip info and device execution stages. Signed-off-by: M Chetan Kumar --- v2: * Removed space around the : for the bitfields. * Return proper error code instead of returning -1. --- drivers

[PATCH V2 00/16] net: iosm: PCIe Driver for Intel M.2 Modem

2021-04-20 Thread M Chetan Kumar
eader & VLAN tag handling from wwan net driver. * Implement rtnet_link interface for IP traffic handling. * PATCH16: * Moved driver documentation to RsT file. * Modified if_link.h file to support link type iosm. -- M Chetan Kumar (16): net: iosm: entry point net: iosm: irq handling net:

[PATCH V2 02/16] net: iosm: irq handling

2021-04-20 Thread M Chetan Kumar
1) Request interrupt vector, frees allocated resource. 2) Registers IRQ handler. Signed-off-by: M Chetan Kumar --- v2: Streamline multiple returns using goto. --- drivers/net/wwan/iosm/iosm_ipc_irq.c | 91 drivers/net/wwan/iosm/iosm_ipc_irq.h | 33 ++ 2

[PATCH V2 01/16] net: iosm: entry point

2021-04-20 Thread M Chetan Kumar
map(dma) skb memory for data communication from device to kernel and vice versa. Signed-off-by: M Chetan Kumar --- v2: * Implement module_init() & exit() callbacks for rtnl_link. * Documentation correction for function signature. * Fix coverity warnings. --- drivers/net/wwan/

[PATCH 17/18] net: iosm: readme file

2021-01-07 Thread M Chetan Kumar
Documents IOSM Driver interface usage. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/README | 126 +++ 1 file changed, 126 insertions(+) create mode 100644 drivers/net/wwan/iosm/README diff --git a/drivers/net/wwan/iosm/README b/drivers/net

[PATCH 18/18] net: iosm: infrastructure

2021-01-07 Thread M Chetan Kumar
1) Kconfig & Makefile changes for IOSM Driver compilation. 2) Modified driver/net Kconfig & Makefile for driver inclusion. 3) Modified MAINTAINER file for IOSM Driver addition. Signed-off-by: M Chetan Kumar --- MAINTAINERS| 7 +++ drivers/net/Kconfig

[PATCH 16/18] net: iosm: net driver

2021-01-07 Thread M Chetan Kumar
1) Create net device for data/IP communication. 2) Bind VLAN ID to mux IP session. 3) Implement net device operations. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_wwan.c | 649 ++ drivers/net/wwan/iosm/iosm_ipc_wwan.h | 72 2 files

[PATCH 13/18] net: iosm: shared memory protocol

2021-01-07 Thread M Chetan Kumar
1) Defines messaging protocol for handling Transfer Descriptor in both UL/DL direction. 2) Ring buffer management. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_protocol.c | 287 ++ drivers/net/wwan/iosm/iosm_ipc_protocol.h | 239

[PATCH 14/18] net: iosm: protocol operations

2021-01-07 Thread M Chetan Kumar
1) Update UL/DL transfer descriptors in message ring. 2) Define message set for pipe/sleep protocol. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c | 547 ++ drivers/net/wwan/iosm/iosm_ipc_protocol_ops.h | 456 + 2

[PATCH 15/18] net: iosm: uevent support

2021-01-07 Thread M Chetan Kumar
Report modem status via uevent. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_uevent.c | 43 + drivers/net/wwan/iosm/iosm_ipc_uevent.h | 41 +++ 2 files changed, 84 insertions(+) create mode 100644 drivers/net/wwan

[PATCH 12/18] net: iosm: power management

2021-01-07 Thread M Chetan Kumar
Implements state machine to handle host & device sleep. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_pm.c | 326 drivers/net/wwan/iosm/iosm_ipc_pm.h | 228 + 2 files changed, 554 insertions(+) create mode 10

[PATCH 10/18] net: iosm: multiplex IP sessions

2021-01-07 Thread M Chetan Kumar
Establish IP session between host-device & session management. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_mux.c | 458 +++ drivers/net/wwan/iosm/iosm_ipc_mux.h | 345 ++ 2 files changed, 803 insertions(+) create

[PATCH 11/18] net: iosm: encode or decode datagram

2021-01-07 Thread M Chetan Kumar
1) Encode UL packet into datagram. 2) Decode DL datagram and route it to network layer. 3) Supports credit based flow control. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_mux_codec.c | 901 + drivers/net/wwan/iosm/iosm_ipc_mux_codec.h | 194

[PATCH 05/18] net: iosm: shared memory I/O operations

2021-01-07 Thread M Chetan Kumar
1) Binds logical channel between host-device for communication. 2) Implements device specific(Char/Net) IO operations. 3) Inject primary BootLoader FW image to modem. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_imem_ops.c | 768 ++ drivers/net

[PATCH 07/18] net: iosm: char device for FW flash & coredump

2021-01-07 Thread M Chetan Kumar
Implements a char device for flashing Modem FW image while Device is in boot rom phase and for collecting traces on modem crash. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_sio.c | 266 +++ drivers/net/wwan/iosm/iosm_ipc_sio.h | 78

[PATCH 00/18] net: iosm: PCIe Driver for Intel M.2 Modem

2021-01-07 Thread M Chetan Kumar
devices. The driver models such IP sessions as 802.1q VLAN devices which are mapped to a unique VLAN ID. M Chetan Kumar (18): net: iosm: entry point net: iosm: irq handling net: iosm: mmio scratchpad net: iosm: shared memory IPC interface net: iosm: shared memory I/O operations net: iosm:

[PATCH 09/18] net: iosm: bottom half

2021-01-07 Thread M Chetan Kumar
1) Bottom half(tasklet) for IRQ and task processing. 2) Tasks are processed asynchronous and synchronously. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_task_queue.c | 247 drivers/net/wwan/iosm/iosm_ipc_task_queue.h | 46 ++ 2 files changed

[PATCH 06/18] net: iosm: channel configuration

2021-01-07 Thread M Chetan Kumar
Defines pipes & channel configurations like channel type, pipe mappings, No. of transfer descriptors and transfer buffer size etc. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_chnl_cfg.c | 86 +++ drivers/net/wwan/iosm/iosm_ipc_chnl_cfg.h

[PATCH 03/18] net: iosm: mmio scratchpad

2021-01-07 Thread M Chetan Kumar
1) Initializes the Scratchpad region for Host-Device communication. 2) Exposes device capabilities like chip info and device execution stages. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_mmio.c | 223 ++ drivers/net/wwan/iosm

[PATCH 08/18] net: iosm: MBIM control device

2021-01-07 Thread M Chetan Kumar
Implements a char device for MBIM protocol communication & provides a simple IOCTL for max transfer buffer size configuration. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_mbim.c | 286 ++ drivers/net/wwan/iosm/iosm_ipc_mbim.h | 25 ++

[PATCH 02/18] net: iosm: irq handling

2021-01-07 Thread M Chetan Kumar
1) Request interrupt vector, frees allocated resource. 2) Registers IRQ handler. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_irq.c | 89 drivers/net/wwan/iosm/iosm_ipc_irq.h | 35 ++ 2 files changed, 124 insertions(+) create

[PATCH 01/18] net: iosm: entry point

2021-01-07 Thread M Chetan Kumar
map(dma) skb memory for data communication from device to kernel and vice versa. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_pcie.c | 561 ++ drivers/net/wwan/iosm/iosm_ipc_pcie.h | 210 + 2 files changed, 771 insertions

[PATCH 04/18] net: iosm: shared memory IPC interface

2021-01-07 Thread M Chetan Kumar
1) Initializes shared memory for host-device communication. 2) Allocate resources required for control & data operations. 3) Transfers the Device IRQ to IPC execution thread. 4) Defines the timer cbs for async events. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_im

[RFC 18/18] net: iosm: infrastructure

2020-11-23 Thread M Chetan Kumar
1) Kconfig & Makefile changes for IOSM Driver compilation. 2) Modified driver/net Kconfig & Makefile for driver inclusion. 3) Modified MAINTAINER file for IOSM Driver addition. Signed-off-by: M Chetan Kumar --- MAINTAINERS| 7 +++ drivers/net/Kconfig

[RFC 17/18] net: iosm: readme file

2020-11-23 Thread M Chetan Kumar
Documents IOSM Driver interface usage. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/README | 126 +++ 1 file changed, 126 insertions(+) create mode 100644 drivers/net/wwan/iosm/README diff --git a/drivers/net/wwan/iosm/README b/drivers/net

[RFC 15/18] net: iosm: uevent support

2020-11-23 Thread M Chetan Kumar
Report modem status via uevent. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_uevent.c | 47 + drivers/net/wwan/iosm/iosm_ipc_uevent.h | 41 2 files changed, 88 insertions(+) create mode 100644 drivers/net/wwan

[RFC 14/18] net: iosm: protocol operations

2020-11-23 Thread M Chetan Kumar
1) Update UL/DL transfer descriptors in message ring. 2) Define message set for pipe/sleep protocol. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c | 563 ++ drivers/net/wwan/iosm/iosm_ipc_protocol_ops.h | 358 2 files

[RFC 16/18] net: iosm: net driver

2020-11-23 Thread M Chetan Kumar
1) Create net device for data/IP communication. 2) Bind VLAN ID to mux IP session. 3) Implement net device operations. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_wwan.c | 674 ++ drivers/net/wwan/iosm/iosm_ipc_wwan.h | 72 2 files

[RFC 12/18] net: iosm: power management

2020-11-23 Thread M Chetan Kumar
Implements state machine to handle host & device sleep. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_pm.c | 334 drivers/net/wwan/iosm/iosm_ipc_pm.h | 216 +++ 2 files changed, 550 insertions(+) create mode 10

[RFC 13/18] net: iosm: shared memory protocol

2020-11-23 Thread M Chetan Kumar
1) Defines messaging protocol for handling Transfer Descriptor in both UL/DL direction. 2) Ring buffer management. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_protocol.c | 287 ++ drivers/net/wwan/iosm/iosm_ipc_protocol.h | 219

[RFC 11/18] net: iosm: encode or decode datagram

2020-11-23 Thread M Chetan Kumar
1) Encode UL packet into datagram. 2) Decode DL datagram and route it to network layer. 3) Supports credit based flow control. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_mux_codec.c | 902 + drivers/net/wwan/iosm/iosm_ipc_mux_codec.h | 194

[RFC 10/18] net: iosm: multiplex IP sessions

2020-11-23 Thread M Chetan Kumar
Establish IP session between host-device & session management. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_mux.c | 455 +++ drivers/net/wwan/iosm/iosm_ipc_mux.h | 344 ++ 2 files changed, 799 insertions(+) create

[RFC 09/18] net: iosm: bottom half

2020-11-23 Thread M Chetan Kumar
1) Bottom half(tasklet) for IRQ and task processing. 2) Tasks are processed asynchronous and synchronously. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_task_queue.c | 258 drivers/net/wwan/iosm/iosm_ipc_task_queue.h | 46 + 2 files changed

[RFC 08/18] net: iosm: MBIM control device

2020-11-23 Thread M Chetan Kumar
Implements a char device for MBIM protocol communication & provides a simple IOCTL for max transfer buffer size configuration. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_mbim.c | 205 ++ drivers/net/wwan/iosm/iosm_ipc_mbim.h | 24 +++

[RFC 06/18] net: iosm: channel configuration

2020-11-23 Thread M Chetan Kumar
Defines pipes & channel configurations like channel type, pipe mappings, No. of transfer descriptors and transfer buffer size etc. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_chnl_cfg.c | 87 +++ drivers/net/wwan/iosm/iosm_ipc_chnl_cfg.h

[RFC 07/18] net: iosm: char device for FW flash & coredump

2020-11-23 Thread M Chetan Kumar
Implements a char device for flashing Modem FW image while Device is in boot rom phase and for collecting traces on modem crash. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_sio.c | 188 +++ drivers/net/wwan/iosm/iosm_ipc_sio.h | 72

[RFC 05/18] net: iosm: shared memory I/O operations

2020-11-23 Thread M Chetan Kumar
1) Binds logical channel between host-device for communication. 2) Implements device specific(Char/Net) IO operations. 3) Inject primary BootLoader FW image to modem. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_imem_ops.c | 779 ++ drivers/net

[RFC 03/18] net: iosm: mmio scratchpad

2020-11-23 Thread M Chetan Kumar
1) Initializes the Scratchpad region for Host-Device communication. 2) Exposes device capabilities like chip info and device execution stages. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_mmio.c | 222 ++ drivers/net/wwan/iosm

[RFC 04/18] net: iosm: shared memory IPC interface

2020-11-23 Thread M Chetan Kumar
1) Initializes shared memory for host-device communication. 2) Allocate resources required for control & data operations. 3) Transfers the Device IRQ to IPC execution thread. 4) Defines the timer cbs for async events. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_im

[RFC 01/18] net: iosm: entry point

2020-11-23 Thread M Chetan Kumar
map(dma) skb memory for data communication from device to kernel and vice versa. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_pcie.c | 494 ++ drivers/net/wwan/iosm/iosm_ipc_pcie.h | 205 ++ 2 files changed, 699 insertions

[RFC 02/18] net: iosm: irq handling

2020-11-23 Thread M Chetan Kumar
1) Request interrupt vector, frees allocated resource. 2) Registers IRQ handler. Signed-off-by: M Chetan Kumar --- drivers/net/wwan/iosm/iosm_ipc_irq.c | 95 drivers/net/wwan/iosm/iosm_ipc_irq.h | 35 + 2 files changed, 130 insertions(+) create

[RFC 00/18] net: iosm: PCIe Driver for Intel M.2 Modem

2020-11-23 Thread M Chetan Kumar
devices of master wwanY devices. The driver models such IP sessions as 802.1q VLAN devices which are mapped to a unique VLAN ID. M Chetan Kumar (18): net: iosm: entry point net: iosm: irq handling net: iosm: mmio scratchpad net: iosm: shared memory IPC interface net: iosm: shared memory I/O