[RESEND PATCH v6 1/8] bus: fsl-mc: dpio: add DPIO driver overview document
From: Stuart Yoderadd document describing the dpio driver and it's role, components and major interfaces Signed-off-by: Stuart Yoder Signed-off-by: Roy Pledge --- Notes: -v4 -updated copyright drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt | 135 1 file changed, 135 insertions(+) create mode 100644 drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt b/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt new file mode 100644 index 000..0ba6771 --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt @@ -0,0 +1,135 @@ +Copyright 2016 NXP + +Introduction + + +A DPAA2 DPIO (Data Path I/O) is a hardware object that provides +interfaces to enqueue and dequeue frames to/from network interfaces +and other accelerators. A DPIO also provides hardware buffer +pool management for network interfaces. + +This document provides an overview the Linux DPIO driver, its +subcomponents, and its APIs. + +See Documentation/dpaa2/overview.txt for a general overview of DPAA2 +and the general DPAA2 driver architecture in Linux. + +Driver Overview +--- + +The DPIO driver is bound to DPIO objects discovered on the fsl-mc bus and +provides services that: + A) allow other drivers, such as the Ethernet driver, to enqueue and dequeue + frames for their respective objects + B) allow drivers to register callbacks for data availability notifications + when data becomes available on a queue or channel + C) allow drivers to manage hardware buffer pools + +The Linux DPIO driver consists of 3 primary components-- + DPIO object driver-- fsl-mc driver that manages the DPIO object + DPIO service-- provides APIs to other Linux drivers for services + QBman portal interface-- sends portal commands, gets responses + + fsl-mc other + bus drivers +| | ++---++ +--+-+ +|DPIO obj| |DPIO service| +| driver |---| (DPIO)| +++ +--+-+ +| + +--+-+ + |QBman | + | portal i/f | + ++ +| + hardware + +The diagram below shows how the DPIO driver components fit with the other +DPAA2 Linux driver components: + ++ + | OS Network | + | Stack| + ++++ + | Allocator |. . . . . . . | Ethernet | + |(DPMCP,DPBP)|| (DPNI) | + +-.--++---+---++ + . . ^ | + ..| | dequeue> ++-+ . | | +| DPRC driver | .++ ++ +| (DPRC)| . . |DPIO obj| |DPIO service| ++--+--+ | driver |-| (DPIO)| + | ++ +--+-+ + | +--|-+ + | | QBman| + ++--+ | portal i/f | + | MC-bus driver | ++ + | | | + | /soc/fsl-mc | | + +---+ | +| + =|=| ++-+--DPIO---|---+ +| | | +|QBman Portal | ++---+ + + + + +DPIO Object Driver (dpio-driver.c) +-- + + The dpio-driver component registers with the fsl-mc bus to handle objects of + type "dpio". The implementation of probe() handles basic initialization + of the DPIO including mapping of the DPIO regions (the QBman SW portal) + and initializing interrupts and registering irq handlers. The dpio-driver + registers the probed DPIO with dpio-service. + +DPIO service (dpio-service.c, dpaa2-io.h) +-- + + The dpio service component provides queuing, notification, and buffers + management services to DPAA2 drivers, such as the
[RESEND PATCH v6 1/8] bus: fsl-mc: dpio: add DPIO driver overview document
From: Stuart Yoder add document describing the dpio driver and it's role, components and major interfaces Signed-off-by: Stuart Yoder Signed-off-by: Roy Pledge --- Notes: -v4 -updated copyright drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt | 135 1 file changed, 135 insertions(+) create mode 100644 drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt b/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt new file mode 100644 index 000..0ba6771 --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt @@ -0,0 +1,135 @@ +Copyright 2016 NXP + +Introduction + + +A DPAA2 DPIO (Data Path I/O) is a hardware object that provides +interfaces to enqueue and dequeue frames to/from network interfaces +and other accelerators. A DPIO also provides hardware buffer +pool management for network interfaces. + +This document provides an overview the Linux DPIO driver, its +subcomponents, and its APIs. + +See Documentation/dpaa2/overview.txt for a general overview of DPAA2 +and the general DPAA2 driver architecture in Linux. + +Driver Overview +--- + +The DPIO driver is bound to DPIO objects discovered on the fsl-mc bus and +provides services that: + A) allow other drivers, such as the Ethernet driver, to enqueue and dequeue + frames for their respective objects + B) allow drivers to register callbacks for data availability notifications + when data becomes available on a queue or channel + C) allow drivers to manage hardware buffer pools + +The Linux DPIO driver consists of 3 primary components-- + DPIO object driver-- fsl-mc driver that manages the DPIO object + DPIO service-- provides APIs to other Linux drivers for services + QBman portal interface-- sends portal commands, gets responses + + fsl-mc other + bus drivers +| | ++---++ +--+-+ +|DPIO obj| |DPIO service| +| driver |---| (DPIO)| +++ +--+-+ +| + +--+-+ + |QBman | + | portal i/f | + ++ +| + hardware + +The diagram below shows how the DPIO driver components fit with the other +DPAA2 Linux driver components: + ++ + | OS Network | + | Stack| + ++++ + | Allocator |. . . . . . . | Ethernet | + |(DPMCP,DPBP)|| (DPNI) | + +-.--++---+---++ + . . ^ | + ..| | dequeue> ++-+ . | | +| DPRC driver | .++ ++ +| (DPRC)| . . |DPIO obj| |DPIO service| ++--+--+ | driver |-| (DPIO)| + | ++ +--+-+ + | +--|-+ + | | QBman| + ++--+ | portal i/f | + | MC-bus driver | ++ + | | | + | /soc/fsl-mc | | + +---+ | +| + =|=| ++-+--DPIO---|---+ +| | | +|QBman Portal | ++---+ + + + + +DPIO Object Driver (dpio-driver.c) +-- + + The dpio-driver component registers with the fsl-mc bus to handle objects of + type "dpio". The implementation of probe() handles basic initialization + of the DPIO including mapping of the DPIO regions (the QBman SW portal) + and initializing interrupts and registering irq handlers. The dpio-driver + registers the probed DPIO with dpio-service. + +DPIO service (dpio-service.c, dpaa2-io.h) +-- + + The dpio service component provides queuing, notification, and buffers + management services to DPAA2 drivers, such as the Ethernet driver. A system + will typically allocate 1 DPIO
Re: [v6 1/8] bus: fsl-mc: dpio: add DPIO driver overview document
On Wed, Mar 08, 2017 at 04:54:43PM -0500, Roy Pledge wrote: > From: Stuart Yoder> > add document describing the dpio driver and it's role, components > and major interfaces > > Signed-off-by: Stuart Yoder You need to also sign off on patches you send me from others if I am to be able to accept them. That shows you have properly reviewed them and agree with them. Please fix up and resend the series. thanks, greg k-h
Re: [v6 1/8] bus: fsl-mc: dpio: add DPIO driver overview document
On Wed, Mar 08, 2017 at 04:54:43PM -0500, Roy Pledge wrote: > From: Stuart Yoder > > add document describing the dpio driver and it's role, components > and major interfaces > > Signed-off-by: Stuart Yoder You need to also sign off on patches you send me from others if I am to be able to accept them. That shows you have properly reviewed them and agree with them. Please fix up and resend the series. thanks, greg k-h
[v6 1/8] bus: fsl-mc: dpio: add DPIO driver overview document
From: Stuart Yoderadd document describing the dpio driver and it's role, components and major interfaces Signed-off-by: Stuart Yoder --- drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt | 135 +++ 1 file changed, 135 insertions(+) create mode 100644 drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt b/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt new file mode 100644 index 000..0ba6771 --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt @@ -0,0 +1,135 @@ +Copyright 2016 NXP + +Introduction + + +A DPAA2 DPIO (Data Path I/O) is a hardware object that provides +interfaces to enqueue and dequeue frames to/from network interfaces +and other accelerators. A DPIO also provides hardware buffer +pool management for network interfaces. + +This document provides an overview the Linux DPIO driver, its +subcomponents, and its APIs. + +See Documentation/dpaa2/overview.txt for a general overview of DPAA2 +and the general DPAA2 driver architecture in Linux. + +Driver Overview +--- + +The DPIO driver is bound to DPIO objects discovered on the fsl-mc bus and +provides services that: + A) allow other drivers, such as the Ethernet driver, to enqueue and dequeue + frames for their respective objects + B) allow drivers to register callbacks for data availability notifications + when data becomes available on a queue or channel + C) allow drivers to manage hardware buffer pools + +The Linux DPIO driver consists of 3 primary components-- + DPIO object driver-- fsl-mc driver that manages the DPIO object + DPIO service-- provides APIs to other Linux drivers for services + QBman portal interface-- sends portal commands, gets responses + + fsl-mc other + bus drivers +| | ++---++ +--+-+ +|DPIO obj| |DPIO service| +| driver |---| (DPIO)| +++ +--+-+ +| + +--+-+ + |QBman | + | portal i/f | + ++ +| + hardware + +The diagram below shows how the DPIO driver components fit with the other +DPAA2 Linux driver components: + ++ + | OS Network | + | Stack| + ++++ + | Allocator |. . . . . . . | Ethernet | + |(DPMCP,DPBP)|| (DPNI) | + +-.--++---+---++ + . . ^ | + ..| | dequeue> ++-+ . | | +| DPRC driver | .++ ++ +| (DPRC)| . . |DPIO obj| |DPIO service| ++--+--+ | driver |-| (DPIO)| + | ++ +--+-+ + | +--|-+ + | | QBman| + ++--+ | portal i/f | + | MC-bus driver | ++ + | | | + | /soc/fsl-mc | | + +---+ | +| + =|=| ++-+--DPIO---|---+ +| | | +|QBman Portal | ++---+ + + + + +DPIO Object Driver (dpio-driver.c) +-- + + The dpio-driver component registers with the fsl-mc bus to handle objects of + type "dpio". The implementation of probe() handles basic initialization + of the DPIO including mapping of the DPIO regions (the QBman SW portal) + and initializing interrupts and registering irq handlers. The dpio-driver + registers the probed DPIO with dpio-service. + +DPIO service (dpio-service.c, dpaa2-io.h) +-- + + The dpio service component provides queuing, notification, and buffers + management services to DPAA2 drivers, such as the Ethernet driver. A system + will typically allocate 1 DPIO object per CPU to allow queuing
[v6 1/8] bus: fsl-mc: dpio: add DPIO driver overview document
From: Stuart Yoder add document describing the dpio driver and it's role, components and major interfaces Signed-off-by: Stuart Yoder --- drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt | 135 +++ 1 file changed, 135 insertions(+) create mode 100644 drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt diff --git a/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt b/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt new file mode 100644 index 000..0ba6771 --- /dev/null +++ b/drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt @@ -0,0 +1,135 @@ +Copyright 2016 NXP + +Introduction + + +A DPAA2 DPIO (Data Path I/O) is a hardware object that provides +interfaces to enqueue and dequeue frames to/from network interfaces +and other accelerators. A DPIO also provides hardware buffer +pool management for network interfaces. + +This document provides an overview the Linux DPIO driver, its +subcomponents, and its APIs. + +See Documentation/dpaa2/overview.txt for a general overview of DPAA2 +and the general DPAA2 driver architecture in Linux. + +Driver Overview +--- + +The DPIO driver is bound to DPIO objects discovered on the fsl-mc bus and +provides services that: + A) allow other drivers, such as the Ethernet driver, to enqueue and dequeue + frames for their respective objects + B) allow drivers to register callbacks for data availability notifications + when data becomes available on a queue or channel + C) allow drivers to manage hardware buffer pools + +The Linux DPIO driver consists of 3 primary components-- + DPIO object driver-- fsl-mc driver that manages the DPIO object + DPIO service-- provides APIs to other Linux drivers for services + QBman portal interface-- sends portal commands, gets responses + + fsl-mc other + bus drivers +| | ++---++ +--+-+ +|DPIO obj| |DPIO service| +| driver |---| (DPIO)| +++ +--+-+ +| + +--+-+ + |QBman | + | portal i/f | + ++ +| + hardware + +The diagram below shows how the DPIO driver components fit with the other +DPAA2 Linux driver components: + ++ + | OS Network | + | Stack| + ++++ + | Allocator |. . . . . . . | Ethernet | + |(DPMCP,DPBP)|| (DPNI) | + +-.--++---+---++ + . . ^ | + ..| | dequeue> ++-+ . | | +| DPRC driver | .++ ++ +| (DPRC)| . . |DPIO obj| |DPIO service| ++--+--+ | driver |-| (DPIO)| + | ++ +--+-+ + | +--|-+ + | | QBman| + ++--+ | portal i/f | + | MC-bus driver | ++ + | | | + | /soc/fsl-mc | | + +---+ | +| + =|=| ++-+--DPIO---|---+ +| | | +|QBman Portal | ++---+ + + + + +DPIO Object Driver (dpio-driver.c) +-- + + The dpio-driver component registers with the fsl-mc bus to handle objects of + type "dpio". The implementation of probe() handles basic initialization + of the DPIO including mapping of the DPIO regions (the QBman SW portal) + and initializing interrupts and registering irq handlers. The dpio-driver + registers the probed DPIO with dpio-service. + +DPIO service (dpio-service.c, dpaa2-io.h) +-- + + The dpio service component provides queuing, notification, and buffers + management services to DPAA2 drivers, such as the Ethernet driver. A system + will typically allocate 1 DPIO object per CPU to allow queuing operations + to happen simultaneously across all