Re: [PATCH] i2c: imx: add slave support. v2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Wolfram,
I'm now working on creating new driver version. I think I'll be able to sent it soon.

04.03.2016 0:35, Wolfram Sang пишет:
There are might be race conditions.
Can you name them
Most of races are fixed already. There were some issues with interrupt latencies - sometimes slave interrupt appears in process of starting master xfer.
+enum imx_i2c_slave_state {
+	I2C_IMX_SLAVE_IDLE,
+	I2C_IMX_SLAVE_IRQ,
+	I2C_IMX_SLAVE_POLLING
Highlevel question first: Why do you have polling? Why would anyone not
want to use interrupts here?
Since imx doesn't generate interrupt on "bus stop" condition we'd had to implement polling scheme. Interrupts are used for starting polling and for waking polling loop on new slave request. Without polling we can't handle "end-of-packet" event correctly.

In current version states are:

	I2C_IMX_SLAVE_IDLE // default state. slave process is waiting for interrupt
	I2C_IMX_SLAVE_POLLING // slave transfer is in process.
	I2C_IMX_MASTER   // master transfer is in process.


--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux