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 5fe08de..3814cbb 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 a19bf7c..74e5a4f 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];