Patchwork [2/2] ide: implement stub for audio control/volume read

login
register
mail settings
Submitter Thadeu Lima de Souza Cascardo
Date Nov. 30, 2009, 7:37 p.m.
Message ID <1259609823-16261-1-git-send-email-cascardo@holoscopio.com>
Download mbox | patch
Permalink /patch/39862/
State New
Headers show

Comments

Thadeu Lima de Souza Cascardo - Nov. 30, 2009, 7:37 p.m.
This implements the audio control or volume read support as needed by
some systems. A Conectiva Parolin system required this to detect an IDE
device as CD-ROM, through the CDVOLREAD ioctl.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
---
 hw/ide/core.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

Patch

diff --git a/hw/ide/core.c b/hw/ide/core.c
index b551adf..19d2fad 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -1255,6 +1255,23 @@  static void ide_atapi_cmd(IDEState *s)
                     buf[15] = 0x00;
                     ide_atapi_cmd_reply(s, 16, max_len);
                     break;
+                case GPMODE_AUDIO_CTL_PAGE:
+                    cpu_to_ube16(&buf[0], 24 + 6);
+                    buf[2] = 0x70;
+                    buf[3] = 0;
+                    buf[4] = 0;
+                    buf[5] = 0;
+                    buf[6] = 0;
+                    buf[7] = 0;
+
+                    /* Fill with CDROM audio volume */
+                    buf[17] = 0;
+                    buf[19] = 0;
+                    buf[21] = 0;
+                    buf[23] = 0;
+
+                    ide_atapi_cmd_reply(s, 24, max_len);
+                    break;
                 case GPMODE_CAPABILITIES_PAGE:
                     cpu_to_ube16(&buf[0], 28 + 6);
                     buf[2] = 0x70;