From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Subject: MXS i2c PIOQ/DMA mode selection via DT Date: Mon, 16 Jul 2012 16:05:44 +0200 Message-ID: <201207161605.44379.marek.vasut@gmail.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Sender: linux-i2c-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Cc: Shawn Guo , linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Detlev Zundel , Dong Aisheng , Fabio Estevam , Linux ARM kernel , Sascha Hauer , Stefano Babic , Uwe =?iso-8859-1?q?Kleine-K=F6nig?= , Wolfgang Denk , Wolfram Sang List-Id: linux-i2c@vger.kernel.org Hello, There's been this patch going on, which adds DMA mode into MXS i2c driver: https://patchwork.kernel.org/patch/1174051/ Recent nitpick was about toggling the PIOQUEUE (almost like PIO, only transfer mode in current implementation) vs. DMA mode (newly added) on a per-bus basis. Current implementation in the patch adds a DT property, "fsl,use-pio" (shall be changed to "fsl,use-pioqueue", but that's irrelevant) to select between the PIOQUEUE and DMA mode on per-bus basis. There was now a suggestion to dump this property and use kernel module parameter instead. This obviously disallows to configure this behavior on per-bus basis. Consider a scenario where small transfers happens on one bus (possibly from a sensor) and large transfers on the other bus (eg. i2c EEPROM). In such scenario, it's beneficial to enable PIOQUEUE mode for the sensor and DMA mode for the EEPROM to minimize the overall overhead. The mixed mode (PIOQ for small data and DMA for large data transfers) isn't supported yet. Please advise. Best regards, Marek Vasut