firmware: cs_dsp: Allow creation of event controls
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Wed, 17 Nov 2021 13:23:00 +0000 (13:23 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 17 Nov 2021 22:16:28 +0000 (22:16 +0000)
Some firmwares contain controls intended to convey firmware state back
to the host. Whilst more infrastructure will probably be needed for
these in time, as a first step allow creation of the controls, so said
firmwares arn't completely rejected.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20211117132300.1290-10-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/firmware/cirrus/cs_dsp.c
include/linux/firmware/cirrus/wmfw.h

index 5fe08de91ecd336782174715aed854167b4651d0..3814cbba0a54409f82b0d2195bf216928fff88a1 100644 (file)
@@ -1177,6 +1177,7 @@ static int cs_dsp_parse_coeff(struct cs_dsp *dsp,
                                return -EINVAL;
                        break;
                case WMFW_CTL_TYPE_HOSTEVENT:
+               case WMFW_CTL_TYPE_FWEVENT:
                        ret = cs_dsp_check_coeff_flags(dsp, &coeff_blk,
                                                       WMFW_CTL_FLAG_SYS |
                                                       WMFW_CTL_FLAG_VOLATILE |
index a19bf7c6fc8b06c8aa986ddd9ca037fe6c4851f8..74e5a4f6c13a06cde63dde9152a14009ab8396a6 100644 (file)
@@ -29,6 +29,7 @@
 #define WMFW_CTL_TYPE_ACKED       0x1000 /* acked control */
 #define WMFW_CTL_TYPE_HOSTEVENT   0x1001 /* event control */
 #define WMFW_CTL_TYPE_HOST_BUFFER 0x1002 /* host buffer pointer */
+#define WMFW_CTL_TYPE_FWEVENT     0x1004 /* firmware event control */
 
 struct wmfw_header {
        char magic[4];