-
Notifications
You must be signed in to change notification settings - Fork 5.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
snd_bcm2835: disable HDMI audio when vc4 is used #3640
Conversation
Should I rebase the pull request? Also, should I add the same change for the Pi <=3 overlay? |
@pelwell what's your preference for this?
are dangerous if both audio devices are used. |
Personally I'd like to keep the ability to use the headphone jack at the same time as HDMI. |
DT mangling is only useful if there is something to observe the change. If there is an existing way to disable the audio support in the KMS driver then this overlay should use it, but I don't think there is one. An alternative approach would be for the bcm2835 driver to detect the presence of the enabled kms driver automatically, but this is much simpler. You could hide the disabling property if "audio=off" is specified, if there are situations where one might want the bcm2835 driver to control the audio. |
Yes, that would be better. However, on the Pi4 there are two toggles, one for each HDMI port. We need to somehow detect if both are disabled, and only have snd_bcm2835 handle audio then. My overlay-fu isn't very strong. Do you think the following will work: vc4-kms-v3d-pi4-overlay.dts
Then Edit: I'm not sure this works. How will the overrides behave when |
I think it's safer to add a third parameter:
|
Maybe
instead of
? |
If no parameter value is supplied then the default value of 1/on/true is assumed, so my version works with or without |
Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node. Signed-off-by: Hristo Venev <[email protected]>
I added the On the Pi 4, the old (current) behaviour can be configured with
This first disables vc4 HDMI audio and lets snd_bcm2835 handle it using the firmware thing, and then also tells vc4 to handle HDMI audio as well. |
I'll give it a spin tomorrow. |
Since the non-pi4 overlay has only one audio* property we can make audio=off equivalent to noaudio=on.
I've added commits that make "audio=off" do the sensible thing for the non-Pi4 case, and idocument the noaudio parameter. If you're happy with these changes I'll squash and merge all three. |
LGTM |
Thanks! |
Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]>
Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]>
Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]>
Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]>
Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]>
kernel: vc4: cec: Restore cec physical address on reconnect See: raspberrypi/linux#3655 kernel: snd_bcm2835: disable HDMI audio when vc4 is used See: raspberrypi/linux#3640 kernel: Enhanced w1_therm Linux Kernel Module See: raspberrypi/linux#3540 kernel: overlays: Update upstream overlays after vc4-kms-v3d change kernel: overlays: i2c-gpio: Avoid open-drain warnings See: #1381 See: #1401 kernel: staging: vchiq_arm: Use g_dma_dev for dma_unmap_sg See: raspberrypi/linux#3647 firmware: arm_ldconfig: Don't pad initramfs files See: #1395
kernel: vc4: cec: Restore cec physical address on reconnect See: raspberrypi/linux#3655 kernel: snd_bcm2835: disable HDMI audio when vc4 is used See: raspberrypi/linux#3640 kernel: Enhanced w1_therm Linux Kernel Module See: raspberrypi/linux#3540 kernel: overlays: Update upstream overlays after vc4-kms-v3d change kernel: overlays: i2c-gpio: Avoid open-drain warnings See: raspberrypi/firmware#1381 See: raspberrypi/firmware#1401 kernel: staging: vchiq_arm: Use g_dma_dev for dma_unmap_sg See: raspberrypi/linux#3647 firmware: arm_ldconfig: Don't pad initramfs files See: raspberrypi/firmware#1395
Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]>
Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]>
Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]>
Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (raspberrypi#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Also check for which HDMI devices are connected and only create devices for those that are present. Signed-off-by: James Hughes <[email protected]> Signed-off-by: Dom Cobley <[email protected]> snd_bcm2835: disable HDMI audio when vc4 is used (#3640) Things don't work too well when both the vc4 driver and the firmware driver are trying to control the same audio output: [ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5 Hence, when the vc4 HDMI driver is used, let it control audio. This is done by introducing a new device tree property to the audio node, and extending the vc4-kms-v3d overlays to set it appropriately. Signed-off-by: Hristo Venev <[email protected]> staging: bcm2835-audio: Add disable-headphones flag Add a property to allow the headphone output to be disabled. Use an integer property rather than a boolean so that an overlay can clear it. Signed-off-by: Phil Elwell <[email protected]> staging: bcm2835-audio: Find compatible firmware node Commit "ARM: dts: Adopt the upstream snd_bcm2835 handling" removed the audio section from the DT and the driver can no longer access the referenced firmware node 'brcm,firmware'. Fix that by searching for a compatible firmware node instead, similar to drivers/gpu/drm/vc4. Fixes: b9e6232 ("ARM: dts: Adopt the upstream snd_bcm2835 handling") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix firmware node refcounting Decrement firmware node refcounts on all exit paths in set_hdmi_enables(). Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Log errors in case of firmware query failures The driver queries the firmware for the number of detected HDMI displays and their IDs. Log error messages if queries fail. Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_hdmi module parameter The commit "Add HDMI1 facility to the driver." made the enable_hdmi module parameter unused. Fix that by making it a global switch for all available HDMI audio outputs. Fixes: 755f336 ("Add HDMI1 facility to the driver.") Signed-off-by: Juerg Haefliger <[email protected]> staging: bcm2835-audio: Fix unused enable_headphones module parameter Since commit "staging: bcm2835-audio: Add disable-headphones flag" the enabling/disabling of the headphones output is solely determined by the presence of the DT property 'brcm,disable-headphones' and the enable_headphones module parameter is unused. Fix that by making it a global switch. Fixes: ee90e47 ("staging: bcm2835-audio: Add disable-headphones flag") Signed-off-by: Juerg Haefliger <[email protected]>
Things don't work too well when both the vc4 driver and the firmware
driver are trying to control the same audio output:
[ 763.569406] bcm2835_audio bcm2835_audio: vchi message timeout, msg=5
Hence, when the vc4 HDMI driver is used, let it control audio. This is done
by introducing a new device tree property to the audio node.
Signed-off-by: Hristo Venev [email protected]