Skip to contentSkip to conversation

SPI: spi-imx: enable realtime master workqueue

PATCH New Markus Niebel 2 participants 2 messages Jul 18, 2014 – Jul 22, 2014

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 SPI: spi-imx: enable realtime master workqueue

From: Markus Niebel <[email protected]>

SPI master provides an option to run the SPI workqueue with realtime prio. This feature is currently used only by spi-pl022.

Support this feature for spi-imx by parsing an optional bool value from device tree.

Note: maybe useful for all SPI controllers.

---
 .../devicetree/bindings/spi/fsl-imx-cspi.txt       |    4 ++++
 drivers/spi/spi-imx.c                              |    1 +
 2 files changed, 5 insertions(+)
Documentation/devicetree/bindings/spi/fsl-imx-cspi.txt +4 -0
index 4256a6d..6b908c7 100644
@@ -8,6 +8,10 @@ Required properties:
 - fsl,spi-num-chipselects : Contains the number of the chipselect
 - cs-gpios : Specifies the gpio pins to be used for chipselects.
 
+Optional properties:
+- fsl,rt : indicates the controller should run the message pump with realtime
+	   priority to minimise the transfer latency on the bus (boolean)
+
 Example:
 
 ecspi at 70010000 {
drivers/spi/spi-imx.c +1 -0
index 5daff20..3a9c373 100644
@@ -835,6 +835,7 @@ static int spi_imx_probe(struct platform_device *pdev)
 	master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32);
 	master->bus_num = pdev->id;
 	master->num_chipselect = num_cs;
+	master->rt = of_property_read_bool(np, "fsl,rt");
 
 	spi_imx = spi_master_get_devdata(master);
 	spi_imx->bitbang.master = master;
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH 1/1 SPI: spi-imx: enable realtime master workqueue

Quoted 8 lines · Markus Niebel

From: Markus Niebel <[email protected]>

SPI master provides an option to run the SPI workqueue with realtime prio. This feature is currently used only by spi-pl022.

Support this feature for spi-imx by parsing an optional bool value from device tree.

This sounds like a Linux specific feature/implementation, so shouldn't be a decision of device tree.

Shawn

Quoted 39 lines

Note: maybe useful for all SPI controllers.

---
 .../devicetree/bindings/spi/fsl-imx-cspi.txt       |    4 ++++
 drivers/spi/spi-imx.c                              |    1 +
 2 files changed, 5 insertions(+)
Documentation/devicetree/bindings/spi/fsl-imx-cspi.txt +4 -0
index 4256a6d..6b908c7 100644
@@ -8,6 +8,10 @@ Required properties:
 - fsl,spi-num-chipselects : Contains the number of the chipselect
 - cs-gpios : Specifies the gpio pins to be used for chipselects.
 
+Optional properties:
+- fsl,rt : indicates the controller should run the message pump with realtime
+	   priority to minimise the transfer latency on the bus (boolean)
+
 Example:
 
 ecspi at 70010000 {
drivers/spi/spi-imx.c +1 -0
index 5daff20..3a9c373 100644
@@ -835,6 +835,7 @@ static int spi_imx_probe(struct platform_device *pdev)
 	master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32);
 	master->bus_num = pdev->id;
 	master->num_chipselect = num_cs;
+	master->rt = of_property_read_bool(np, "fsl,rt");
 
 	spi_imx = spi_master_get_devdata(master);
 	spi_imx->bitbang.master = master;
Signature · 1 line
1.7.9.5