History

ASoC/tda998x: Fix reporting of nonexistent capture streams

Merge series from Mark Brown <broonie@kernel.org>: The recently added pcm-test selftest has pointed out that systems with the tda998x driver end up advertising that they support capture when in reality as far as I can see the tda998x devices are transmit only. The DAIs registered through hdmi-codec are bidirectional, meaning that for I2S systems when combined with a typical bidrectional CPU DAI the overall capability of the PCM is bidirectional. In most cases the I2S links will clock OK but no useful audio will be returned which isn't so bad but we should still not advertise the useless capability, and some systems may notice problems for example due to pinmux management. This is happening due to the hdmi-codec helpers not providing any mechanism for indicating unidirectional audio so add one and use it in the tda998x driver. It is likely other hdmi-codec users are also affected but I don't have those systems to hand. Mark Brown (2): ASoC: hdmi-codec: Allow playback and capture to be disabled drm: tda99x: Don't advertise non-existent capture support drivers/gpu/drm/i2c/tda998x_drv.c | 2 ++ include/sound/hdmi-codec.h | 4 ++++ sound/soc/codecs/hdmi-codec.c | 30 +++++++++++++++++++++++++----- 3 files changed, 31 insertions(+), 5 deletions(-) base-commit: f0c4d9fc9cc9462659728d168387191387e903cc -- 2.30.2

Mark Brown committed 3 years ago

Commit f19a2ca2 parents 969357e a04f1c8298 files · +2171 −1064Browse files

Showing the changes to include/uapi (2 of 298 files). Show all

Unified · Split

2 files
  1. include/uapi/linux/ip.h +4 −2
  2. include/uapi/linux/ipv6.h +4 −2
include/uapi/linux/ip.h+4−2
@@ -100,8 +100,10 @@ struct iphdr { · 99 unmodified lines
100 __u8 ttl;100 __u8 ttl;
101 __u8 protocol;101 __u8 protocol;
102 __sum16 check;102 __sum16 check;
103 __be32 saddr;103 __struct_group(/* no tag */, addrs, /* no attrs */,
104 __be32 daddr;104 __be32 saddr;
105 __be32 daddr;
106 );
105 /*The options start here. */107 /*The options start here. */
106};108};
107 109
include/uapi/linux/ipv6.h+4−2
@@ -130,8 +130,10 @@ struct ipv6hdr { · 129 unmodified lines
130 __u8 nexthdr;130 __u8 nexthdr;
131 __u8 hop_limit;131 __u8 hop_limit;
132 132
133 struct in6_addr saddr;133 __struct_group(/* no tag */, addrs, /* no attrs */,
134 struct in6_addr daddr;134 struct in6_addr saddr;
135 struct in6_addr daddr;
136 );
135};137};
136 138
137 139