Re: [alsa-devel] [PATCHv4 7/7] ASoC: TWL6030: Detect power-up sequence completion
On Fri, Feb 26, 2010 at 06:22:34PM -0600, Olaya, Margarita wrote: Do you mean something like this? time_left = wait_for_completion_timeout(priv-ready, msecs_to_jiffies(48)); if(!time_left) { twl_i2c_read_u8(TWL4030_MODULE_AUDIO_VOICE, intid, TWL6040_REG_INTID); if (!(intid TWL6040_READYINT)) goto error; } return 0; error: dev_err(codec-dev, timeout waiting for READYINT\n); return -ETIMEDOUT; Yes, or wrapped in a for loop with shorter timeouts on the individual waits. but in this case will it not take unnecessarily 48ms when the interruption line is not valid? You're always going to get some additional delay when polling unless you busy wait for completion, which obviously has its own problems. -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [alsa-devel] [PATCHv4 7/7] ASoC: TWL6030: Detect power-up sequence completion
On Monday, March 01, 2010 6:14 AM Mark Brown wrote: On Fri, Feb 26, 2010 at 06:22:34PM -0600, Olaya, Margarita wrote: Do you mean something like this? time_left = wait_for_completion_timeout(priv-ready, msecs_to_jiffies(48)); if(!time_left) { twl_i2c_read_u8(TWL4030_MODULE_AUDIO_VOICE, intid, TWL6040_REG_INTID); if (!(intid TWL6040_READYINT)) goto error; } return 0; error: dev_err(codec-dev, timeout waiting for READYINT\n); return -ETIMEDOUT; Yes, or wrapped in a for loop with shorter timeouts on the individual waits. but in this case will it not take unnecessarily 48ms when the interruption line is not valid? You're always going to get some additional delay when polling unless you busy wait for completion, which obviously has its own problems. Ok, thanks for the comment I'll re-write the loop for next version of patches-- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [alsa-devel] [PATCHv4 7/7] ASoC: TWL6030: Detect power-up sequence completion
On Fri, Feb 26, 2010 at 03:04:22PM -0600, Olaya, Margarita wrote: In both cases if READYINIT is not set before the timeout runs out it means the codec is not powering on and the driver reports an error. That's kind of my point - because you're checking for the same status there shouldn't be any need to special case the situation where there's no interrupt, I'd expect to be able to use wait_for_timeout_interruptible() for the delay and have the timeout completion interrupt cause that to be signalled. No *terribly* important but it makes it clearer what's going on. -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [alsa-devel] [PATCHv4 7/7] ASoC: TWL6030: Detect power-up sequence completion
On Friday, February 26, 2010 3:27 PM Mark Brown wrote: On Fri, Feb 26, 2010 at 03:04:22PM -0600, Olaya, Margarita wrote: In both cases if READYINIT is not set before the timeout runs out it means the codec is not powering on and the driver reports an error. That's kind of my point - because you're checking for the same status there shouldn't be any need to special case the situation where there's no interrupt, I'd expect to be able to use wait_for_timeout_interruptible() for the delay and have the timeout completion interrupt cause that to be signalled. No *terribly* important but it makes it clearer what's going on. Do you mean something like this? time_left = wait_for_completion_timeout(priv-ready, msecs_to_jiffies(48)); if(!time_left) { twl_i2c_read_u8(TWL4030_MODULE_AUDIO_VOICE, intid, TWL6040_REG_INTID); if (!(intid TWL6040_READYINT)) goto error; } return 0; error: dev_err(codec-dev, timeout waiting for READYINT\n); return -ETIMEDOUT; but in this case will it not take unnecessarily 48ms when the interruption line is not valid? Regards, Margarita -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html