You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.9 KiB
Diff
72 lines
2.9 KiB
Diff
From 26693d4d1239b8239644ce6da50b8ce06ff18ae5 Mon Sep 17 00:00:00 2001
|
|
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
|
Date: Wed, 17 Oct 2018 21:01:50 +0200
|
|
Subject: [PATCH] staging: bcm2835-audio: unify FOURCC command
|
|
definitions
|
|
|
|
commit a90d8f49cc7fd7220aa24b85fc74ef3cfd62b96f upstream.
|
|
|
|
The device communicates with the audio core using FOURCC codes. The
|
|
driver was generating them using different macros/expressions. We now
|
|
use the same macro to create them and centralize all the definitions.
|
|
|
|
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
|
Reviewed-by: Takashi Iwai <tiwai@suse.de>
|
|
Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
---
|
|
.../vc04_services/bcm2835-audio/bcm2835-vchiq.c | 13 ++++---------
|
|
.../bcm2835-audio/vc_vchi_audioserv_defs.h | 4 +++-
|
|
2 files changed, 7 insertions(+), 10 deletions(-)
|
|
|
|
--- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c
|
|
+++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c
|
|
@@ -89,11 +89,6 @@ static int bcm2835_audio_send_simple(str
|
|
return bcm2835_audio_send_msg(instance, &m, wait);
|
|
}
|
|
|
|
-static const u32 BCM2835_AUDIO_WRITE_COOKIE1 = ('B' << 24 | 'C' << 16 |
|
|
- 'M' << 8 | 'A');
|
|
-static const u32 BCM2835_AUDIO_WRITE_COOKIE2 = ('D' << 24 | 'A' << 16 |
|
|
- 'T' << 8 | 'A');
|
|
-
|
|
static void audio_vchi_callback(void *param,
|
|
const VCHI_CALLBACK_REASON_T reason,
|
|
void *msg_handle)
|
|
@@ -112,8 +107,8 @@ static void audio_vchi_callback(void *pa
|
|
instance->result = m.u.result.success;
|
|
complete(&instance->msg_avail_comp);
|
|
} else if (m.type == VC_AUDIO_MSG_TYPE_COMPLETE) {
|
|
- if (m.u.complete.cookie1 != BCM2835_AUDIO_WRITE_COOKIE1 ||
|
|
- m.u.complete.cookie2 != BCM2835_AUDIO_WRITE_COOKIE2)
|
|
+ if (m.u.complete.cookie1 != VC_AUDIO_WRITE_COOKIE1 ||
|
|
+ m.u.complete.cookie2 != VC_AUDIO_WRITE_COOKIE2)
|
|
dev_err(instance->dev, "invalid cookie\n");
|
|
else
|
|
bcm2835_playback_fifo(instance->alsa_stream,
|
|
@@ -337,8 +332,8 @@ int bcm2835_audio_write(struct bcm2835_a
|
|
.type = VC_AUDIO_MSG_TYPE_WRITE,
|
|
.u.write.count = size,
|
|
.u.write.max_packet = instance->max_packet,
|
|
- .u.write.cookie1 = BCM2835_AUDIO_WRITE_COOKIE1,
|
|
- .u.write.cookie2 = BCM2835_AUDIO_WRITE_COOKIE2,
|
|
+ .u.write.cookie1 = VC_AUDIO_WRITE_COOKIE1,
|
|
+ .u.write.cookie2 = VC_AUDIO_WRITE_COOKIE2,
|
|
};
|
|
unsigned int count;
|
|
int err, status;
|
|
--- a/drivers/staging/vc04_services/bcm2835-audio/vc_vchi_audioserv_defs.h
|
|
+++ b/drivers/staging/vc04_services/bcm2835-audio/vc_vchi_audioserv_defs.h
|
|
@@ -7,8 +7,10 @@
|
|
#define VC_AUDIOSERV_MIN_VER 1
|
|
#define VC_AUDIOSERV_VER 2
|
|
|
|
-/* FourCC code used for VCHI connection */
|
|
+/* FourCC codes used for VCHI communication */
|
|
#define VC_AUDIO_SERVER_NAME MAKE_FOURCC("AUDS")
|
|
+#define VC_AUDIO_WRITE_COOKIE1 MAKE_FOURCC("BCMA")
|
|
+#define VC_AUDIO_WRITE_COOKIE2 MAKE_FOURCC("DATA")
|
|
|
|
/*
|
|
* List of screens that are currently supported
|