Hi Mark, Am Freitag, den 06.05.2011, 08:21 -0500 schrieb Mark Brown:
On Thu, May 05, 2011 at 02:35:05PM -0500, Ricardo Neri wrote:
Am Donnerstag, den 05.05.2011, 03:22 -0500 schrieb Mark Brown:
dev_er(). Also, why are you checking this, and are you checking it too early?
I will replace with dev_err(). I need to check if HDMI display is active because the HDMI DSS driver is in charge of powering on/off the HDMI IP. Audio can play only if the HDMI IP is on. I don't have a .trigger function in my DAI so I thought it was OK to perform the check at .startup. Do you think I should create a .trigger function and perform the check from there?
Why do you need to check at all? The playback won't work when the output isn't connected but the application layer will find that out when there's no data transfer anyway. If you implement the check in startup I'd imagine there may be some races with hotplug of HDMI cables.
I need to check somewhere if the Display Subsystem (and the HDMI IP) is on. Otherwise I will have L3 interconnect errors when trying to access the DSS while it is power-disconnected. I need the HDMI IP on for getting configurations (e.g, deep color mode) and use the HDMI audio FIFO.
Can you clarify what kind of races with hotplug are you concerned? The DSS would detect cable connection events and power on the HDMI IP accordingly. HDMI audio driver would only check if it is powered-on.
Perhaps I could create a .trigger function and perform the check at the start of audio playback. Furthermore, I could move the check to the HDMI audio codec, as it is more related to DSS.