Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1531881 > unrolled thread

[PATCH V1] i2c: designware: fix wrong tx/rx fifo for ACPI

Started byTin Huynh <tnhuynh@apm.com>
First post2016-11-29 04:40 +0100
Last post2016-11-29 10:40 +0100
Articles 4 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH V1] i2c: designware: fix wrong tx/rx fifo for ACPI Tin Huynh <tnhuynh@apm.com> - 2016-11-29 04:40 +0100
    Re: [PATCH V1] i2c: designware: fix wrong tx/rx fifo for ACPI Mika Westerberg <mika.westerberg@linux.intel.com> - 2016-11-29 10:10 +0100
      Re: [PATCH V1] i2c: designware: fix wrong tx/rx fifo for ACPI Mika Westerberg <mika.westerberg@linux.intel.com> - 2016-11-29 10:30 +0100
        Re: [PATCH V1] i2c: designware: fix wrong tx/rx fifo for ACPI Tin Huynh <tnhuynh@apm.com> - 2016-11-29 10:40 +0100

#1531881 — [PATCH V1] i2c: designware: fix wrong tx/rx fifo for ACPI

FromTin Huynh <tnhuynh@apm.com>
Date2016-11-29 04:40 +0100
Subject[PATCH V1] i2c: designware: fix wrong tx/rx fifo for ACPI
Message-ID<sIHqV-2QL-3@gated-at.bofh.it>
ACPI always sets txfifo and rxfifo to 32. This configuration will
cause problem if the IP core supports a fifo size of 16 bytes only.
Set the default value to 0 so the driver will get these parameters 
from IP core.

Signed-off-by: Tin Huynh <tnhuynh@apm.com>
---
 drivers/i2c/busses/i2c-designware-platdrv.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c
index 0b42a12..c88a4b8 100644
--- a/drivers/i2c/busses/i2c-designware-platdrv.c
+++ b/drivers/i2c/busses/i2c-designware-platdrv.c
@@ -97,8 +97,8 @@ static int dw_i2c_acpi_configure(struct platform_device *pdev)
 	const struct acpi_device_id *id;
 
 	dev->adapter.nr = -1;
-	dev->tx_fifo_depth = 32;
-	dev->rx_fifo_depth = 32;
+	dev->tx_fifo_depth = 0;
+	dev->rx_fifo_depth = 0;
 
 	/*
 	 * Try to get SDA hold time and *CNT values from an ACPI method if
-- 
1.7.1

[toc] | [next] | [standalone]


#1532009

FromMika Westerberg <mika.westerberg@linux.intel.com>
Date2016-11-29 10:10 +0100
Message-ID<sIMAh-6nV-9@gated-at.bofh.it>
In reply to#1531881
On Tue, Nov 29, 2016 at 10:32:07AM +0700, Tin Huynh wrote:
> ACPI always sets txfifo and rxfifo to 32. This configuration will
> cause problem if the IP core supports a fifo size of 16 bytes only.
> Set the default value to 0 so the driver will get these parameters 
> from IP core.

Except when those values are not available which is the reason why we
have the default 32 for ACPI systems.

Are you saying you have DW I2C controller on ACPI system where the FIFO
is smaller than 32?

[toc] | [prev] | [next] | [standalone]


#1532033

FromMika Westerberg <mika.westerberg@linux.intel.com>
Date2016-11-29 10:30 +0100
Message-ID<sIMTE-6Co-25@gated-at.bofh.it>
In reply to#1532009
On Tue, Nov 29, 2016 at 04:15:13PM +0700, Tin Huynh wrote:
>    Yes , My IP core supports 16 bytes size only . Should we get this
>    parameter from ACPI table instead of 32 ?

What if we set the default 32 from ACPI as currently but then read the
value from hardware as well and pick the smaller one of the two?

[toc] | [prev] | [next] | [standalone]


#1532048

FromTin Huynh <tnhuynh@apm.com>
Date2016-11-29 10:40 +0100
Message-ID<sIN3k-6FC-27@gated-at.bofh.it>
In reply to#1532033
On Tue, Nov 29, 2016 at 4:26 PM, Mika Westerberg
<mika.westerberg@linux.intel.com> wrote:
> On Tue, Nov 29, 2016 at 04:15:13PM +0700, Tin Huynh wrote:
>>    Yes , My IP core supports 16 bytes size only . Should we get this
>>    parameter from ACPI table instead of 32 ?
>
> What if we set the default 32 from ACPI as currently but then read the
> value from hardware as well and pick the smaller one of the two?
Yes , it should be ok. I will create new patch as your request


-- 
Sr SW Eng

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web