On Mon, 2009-08-31 at 11:14 +0800, Barry Song wrote:
On Fri, Aug 28, 2009 at 8:42 PM, Mark Brownbroonie@opensource.wolfsonmicro.com wrote:
Send a patch that allows selection of the active slots without rewriting
Sorry. I am not sure about your meaning yet. The problem is the slot order, the match between slot number and channel number, not only which slot is active, and which is not active.
As I previously said I think we should add another API for that rather than try to add the feature into the TDM slot API.
Although thinking about it I'm not sure if the driver is actually implementing TDM or not - does the CPU actually get configured to stop driving the data line during an inactive slot (so something else can drive it) or is it simply sending zeros on those slots?
It's the later. The hardware signal is still active but no valid data in inactive slot.
This is part of the reason - data slot reordering needn't mean actual support for TDM (where the data lines are left undriven during idle timeslots so that other devices can transmit in those slots). Indeed, as your implementation shows it should be possible to provide a soft implementation above the driver layer. Since Blackfin needs to copy the data anyway there's an advantage to implementing in the Blackfin driver but for most other devices there's no particular advantage in driver support.