diff options
Diffstat (limited to 'target/linux/ipq40xx/patches-4.14/088-0003-i2c-qup-minor-code-reorganization-for-use_dma.patch')
-rw-r--r-- | target/linux/ipq40xx/patches-4.14/088-0003-i2c-qup-minor-code-reorganization-for-use_dma.patch | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/target/linux/ipq40xx/patches-4.14/088-0003-i2c-qup-minor-code-reorganization-for-use_dma.patch b/target/linux/ipq40xx/patches-4.14/088-0003-i2c-qup-minor-code-reorganization-for-use_dma.patch deleted file mode 100644 index a6cbfcf2b0..0000000000 --- a/target/linux/ipq40xx/patches-4.14/088-0003-i2c-qup-minor-code-reorganization-for-use_dma.patch +++ /dev/null @@ -1,76 +0,0 @@ -From eb422b539c1f39faf576826b54be93e84d9cb32a Mon Sep 17 00:00:00 2001 -From: Abhishek Sahu <absahu@codeaurora.org> -Date: Mon, 12 Mar 2018 18:44:52 +0530 -Subject: [PATCH 03/13] i2c: qup: minor code reorganization for use_dma - -1. Assigns use_dma in qup_dev structure itself which will - help in subsequent patches to determine the mode in IRQ handler. -2. Does minor code reorganization for loops to reduce the - unnecessary comparison and assignment. - -Signed-off-by: Abhishek Sahu <absahu@codeaurora.org> -Reviewed-by: Austin Christ <austinwc@codeaurora.org> -Reviewed-by: Andy Gross <andy.gross@linaro.org> -Signed-off-by: Wolfram Sang <wsa@the-dreams.de> ---- - drivers/i2c/busses/i2c-qup.c | 19 +++++++++++-------- - 1 file changed, 11 insertions(+), 8 deletions(-) - ---- a/drivers/i2c/busses/i2c-qup.c -+++ b/drivers/i2c/busses/i2c-qup.c -@@ -181,6 +181,8 @@ struct qup_i2c_dev { - - /* dma parameters */ - bool is_dma; -+ /* To check if the current transfer is using DMA */ -+ bool use_dma; - struct dma_pool *dpool; - struct qup_i2c_tag start_tag; - struct qup_i2c_bam brx; -@@ -1288,7 +1290,7 @@ static int qup_i2c_xfer_v2(struct i2c_ad - int num) - { - struct qup_i2c_dev *qup = i2c_get_adapdata(adap); -- int ret, len, idx = 0, use_dma = 0; -+ int ret, len, idx = 0; - - qup->bus_err = 0; - qup->qup_err = 0; -@@ -1317,13 +1319,12 @@ static int qup_i2c_xfer_v2(struct i2c_ad - len = (msgs[idx].len > qup->out_fifo_sz) || - (msgs[idx].len > qup->in_fifo_sz); - -- if ((!is_vmalloc_addr(msgs[idx].buf)) && len) { -- use_dma = 1; -- } else { -- use_dma = 0; -+ if (is_vmalloc_addr(msgs[idx].buf) || !len) - break; -- } - } -+ -+ if (idx == num) -+ qup->use_dma = true; - } - - idx = 0; -@@ -1347,15 +1348,17 @@ static int qup_i2c_xfer_v2(struct i2c_ad - - reinit_completion(&qup->xfer); - -- if (use_dma) { -+ if (qup->use_dma) { - ret = qup_i2c_bam_xfer(adap, &msgs[idx], num); -+ qup->use_dma = false; -+ break; - } else { - if (msgs[idx].flags & I2C_M_RD) - ret = qup_i2c_read_one_v2(qup, &msgs[idx]); - else - ret = qup_i2c_write_one_v2(qup, &msgs[idx]); - } -- } while ((idx++ < (num - 1)) && !use_dma && !ret); -+ } while ((idx++ < (num - 1)) && !ret); - - if (!ret) - ret = qup_i2c_change_state(qup, QUP_RESET_STATE); |