RE: [PATCH v6 1/2] i2c: imx: add DMA support for freescale i2c driver

From: fugang.duan@xxxxxxxxxxxxx
Date: Thu Aug 07 2014 - 06:01:16 EST


From: Yuan Yao-B46683 Data: Thursday, August 07, 2014 4:05 PM
>To: Duan Fugang-B38611; wsa@xxxxxxxxxxxxx; marex@xxxxxxx
>Cc: LW@xxxxxxxxxxxxxxxxxxx; mark.rutland@xxxxxxx; shawn.guo@xxxxxxxxxx;
>linux-kernel@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-
>i2c@xxxxxxxxxxxxxxx; Li Frank-B20596
>Subject: RE: [PATCH v6 1/2] i2c: imx: add DMA support for freescale i2c
>driver
>
>Hi Fugang,
>
>> >> >+ /* Waiting for Transfer complete. */
>> >> >+ while (timeout--) {
>> >> >+ temp = imx_i2c_read_reg(i2c_imx, IMX_I2C_I2SR);
>> >> >+ if (temp & I2SR_ICF)
>> >> >+ break;
>> >> >+ udelay(10);
>> >> >+ }
>> >> Whether there have better method like interrupt to avoid dead wait
>> >> here until timeout ?
>> >
>> >Can you give me more suggestion? We have discussed it with our team,
>> >It seems the short query wait is necessary.
>> >
>> At least, you can use schdule_timeout() instead of udelay() ?
>
>In fact, the waiting time normally is less than 10-50us, but the minimum
>time interval for schdule_timeout() is 1 jiffies.
>So maybe schdule_timeout() is not very necessary?
>
Oh, if the waiting time is 10 ~ 50us, you can use usleep_range(10, 50).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/