Statistics
| Branch: | Revision:

root / hw / intel-hda.c @ 43997225

History | View | Annotate | Download (39 kB)

# Date Author Comment
83f7d43a 02/15/2012 05:39 pm Andreas Färber

qom: Unify type registration

Replace device_init() with generalized type_init().

While at it, unify naming convention: type_init([$prefix_]register_types)
Also, type_init() is a function, so add preceding blank line where
necessary and don't put a semicolon after the closing brace....

39bffca2 02/03/2012 06:41 pm Anthony Liguori

qdev: register all types natively through QEMU Object Model

This was done in a mostly automated fashion. I did it in three steps and then
rebased it into a single step which avoids repeatedly touching every file in
the tree.

The first step was a sed-based addition of the parent type to the subclass...

d307af79 02/03/2012 06:41 pm Anthony Liguori

qdev: kill off DeviceInfo

It is no longer used in the tree since everything is done natively through
QEMU Object Model.

Signed-off-by: Anthony Liguori <>

40021f08 01/27/2012 06:50 pm Anthony Liguori

pci: convert to QEMU Object Model

Signed-off-by: Anthony Liguori <>

dbaa7904 01/27/2012 06:50 pm Anthony Liguori

hda-codec: convert to QEMU Object Model

Signed-off-by: Anthony Liguori <>

94afdadc 01/27/2012 06:50 pm Anthony Liguori

qdev: use a wrapper to access reset and promote reset to a class method

Signed-off-by: Anthony Liguori <>

f79f2bfc 01/27/2012 06:50 pm Anthony Liguori

qdev: don't access name through info

We already have a QOM interface for this so let's use it.

Signed-off-by: Anthony Liguori <>

30fbb9fc 01/27/2012 06:50 pm Anthony Liguori

qdev: move qdev->info to class

Right now, DeviceInfo acts as the class for qdev. In order to switch to a
proper ObjectClass derivative, we need to ween all of the callers off of
interacting directly with the info pointer.

Signed-off-by: Anthony Liguori <>

18ebcc86 11/02/2011 02:51 pm Gerd Hoffmann

intel-hda: fix stream search

commit ba43d28916c4f51c19bd7366089155ce81bee058 introduces a bug:
The stream-not-found case doesn't error out any more, instead the
code silently uses the first stream. Fix it.

Signed-off-by: Gerd Hoffmann <>...

fa0ce55c 11/01/2011 11:52 pm David Gibson

intel-hda: Use PCI DMA stub functions

This updates the intel-hda device emulation to use the explicit PCI DMA
functions, instead of directly calling physical memory access functions.

Signed-off-by: David Gibson <>
Signed-off-by: Alexey Kardashevskiy <>...

d8bb00d6 10/28/2011 08:25 pm Paolo Bonzini

qdev: switch children device list to QTAILQ

SCSI buses will need to read the children list first-to-last. This
requires using a QTAILQ, because hell breaks loose if you just try
inserting at the tail (thus reversing the order of all existing
visits from last-to-first to first-to-tail)....

ba43d289 10/25/2011 06:15 pm Marc-André Lureau

hda: do not mix output and input stream states, RHBZ #740493

Windows 7 may use the same stream number for input and output.
Current code will confuse streams.

Changes since v1:
- keep running_compat[] for migration version 1
- add running_real[] for migration version 2...

36ac4ad3 10/25/2011 06:15 pm Marc-André Lureau

hda: do not mix output and input streams, RHBZ #740493

Windows 7 may use the same stream number for input and output.
That will result in lot of garbage on playback.

The hardcoded value of 4 needs to be in sync with GCAP streams
description and IN/OUT registers....

7267c094 08/21/2011 07:01 am Anthony Liguori

Use glib memory allocation and free functions

qemu_malloc/qemu_free no longer exist after this commit.

Signed-off-by: Anthony Liguori <>

e824b2cc 08/08/2011 06:22 pm Avi Kivity

pci: rename pci_register_bar_region() to pci_register_bar()

Reviewed-by: Richard Henderson <>
Reviewed-by: Anthony Liguori <>
Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

234bbdf1 08/08/2011 06:22 pm Avi Kivity

intel-hda: convert to memory API

Reviewed-by: Richard Henderson <>
Reviewed-by: Anthony Liguori <>
Signed-off-by: Avi Kivity <>
Signed-off-by: Anthony Liguori <>

6c7796e5 07/12/2011 11:00 pm Alexander Graf

intel-hda: use specific endian ld/st_phys

Signed-off-by: Alexander Graf <>
Signed-off-by: Blue Swirl <>

d15fda63 06/12/2011 10:33 am Isaku Yamahata

hw/intel-hda.c: convert to PCIDeviceInfo to initialize ids

use PCIDeviceInfo to initialize ids.

Signed-off-by: Isaku Yamahata <>
Signed-off-by: Michael S. Tsirkin <>

45fe15c2 05/05/2011 04:10 pm Jan Kiszka

MSI: Robust resource release

msi_init may fail, so we need to check on uninit if the cap was
actually installed. This also avoids that the users need to check.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Michael S. Tsirkin <>

d28ca60a 04/07/2011 01:56 pm Avi Kivity

hda-intel: convert to pci_register_bar_simple()

Signed-off-by: Avi Kivity <>
Signed-off-by: Michael S. Tsirkin <>

74475455 03/21/2011 10:23 am Paolo Bonzini

change all other clock references to use nanosecond resolution accessors

This was done with:

sed -i 's/qemu_get_clock\>/qemu_get_clock_ns/' \
$(git grep -l 'qemu_get_clock\>' )
sed -i 's/qemu_new_timer\>/qemu_new_timer_ns/' \
$(git grep -l 'qemu_new_timer\>' )...
2507c12a 12/11/2010 05:24 pm Alexander Graf

Add endianness as io mem parameter

As stated before, devices can be little, big or native endian. The
target endianness is not of their concern, so we need to push things
down a level.

This patch adds a parameter to cpu_register_io_memory that allows a
device to choose its endianness. For now, all devices simply choose...

df0db221 11/09/2010 06:32 pm Gerd Hoffmann

intel-hda: fix codec addressing.

The HDA bus supports up to 15 codecs, with addresses 0 ... 14.
We get that wrong in two places:

  • When handing out addresses we accept address 15 as valid.
  • The bitmasks for two registers (WAKEEN and STATESTS) don't
    have bit 14 set....
e2553eb4 11/09/2010 06:14 pm malc

Revert "intel-hda: fix codec addressing."

Misses braces

This reverts commit acc086837e49b44f15eff6007bb1726844df7aec.

af93485c 11/09/2010 03:51 pm François Revol

intel-hda: Honor WAKEEN bits.

HDA: Honor WAKEEN bits when deciding to raise an interrupt on codec
status change. This prevents an interrupt storm with the Haiku HDA
driver which does not handle codec status changes in the irq handler.

Signed-off-by: François Revol <>...

6a0d02f5 11/09/2010 03:51 pm Gerd Hoffmann

intel-hda: update irq status on WAKEEN changes.

When the guest updates the WAKEEN register we
must re-calculate the IRQ status.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: malc <>

17786d52 11/09/2010 03:51 pm Gerd Hoffmann

intel-hda: add msi support

This patch adds MSI support to the intel hda audio driver. It is
enabled by default, use '-device intel-hda,msi=0' to disable it.

[ v2: codestyle: add braces ]

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: malc <>

acc08683 11/09/2010 03:51 pm Gerd Hoffmann

intel-hda: fix codec addressing.

The HDA bus supports up to 15 codecs, with addresses 0 ... 14.
We get that wrong in two places:

  • When handing out addresses we accept address 15 as valid.
  • The bitmasks for two registers (WAKEEN and STATESTS) don't
    have bit 14 set....
dc4b9240 11/09/2010 03:51 pm Gerd Hoffmann

intel-hda: exit cleanup

Add pci exit callback for the intel-hda device and cleanup properly.
Also add an exit callback to the HDA bus implementation and make sure
it is called on qdev_free().

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: malc <>

d61a4ce8 11/01/2010 04:57 pm Gerd Hoffmann

Add Intel HD Audio support to qemu.

This patch adds three devices to qemu:

intel-hda
Intel HD Audio Controller, the PCI device. Provides a HDA bus.
Emulates ICH6 at the moment. Adding a ICH9 PCIE
variant shouldn't be hard.

hda-duplex
HDA Codec. Attaches to the HDA bus. Supports 16bit stereo,...