lkml.org 
[lkml]   [2016]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.2.y-ckt 061/211] ALSA: hda - Disable 64bit address for Creative HDA controllers
    Date
    4.2.8-ckt1 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Takashi Iwai <tiwai@suse.de>

    commit cadd16ea33a938d49aee99edd4758cc76048b399 upstream.

    We've had many reports that some Creative sound cards with CA0132
    don't work well. Some reported that it starts working after reloading
    the module, while some reported it starts working when a 32bit kernel
    is used. All these facts seem implying that the chip fails to
    communicate when the buffer is located in 64bit address.

    This patch addresses these issues by just adding AZX_DCAPS_NO_64BIT
    flag to the corresponding PCI entries. I casually had a chance to
    test an SB Recon3D board, and indeed this seems helping.

    Although this hasn't been tested on all Creative devices, it's safer
    to assume that this restriction applies to the rest of them, too. So
    the flag is applied to all Creative entries.

    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    sound/pci/hda/hda_intel.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
    index c38c68f..61b8b75a 100644
    --- a/sound/pci/hda/hda_intel.c
    +++ b/sound/pci/hda/hda_intel.c
    @@ -334,6 +334,7 @@ enum {

    #define AZX_DCAPS_PRESET_CTHDA \
    (AZX_DCAPS_NO_MSI | AZX_DCAPS_POSFIX_LPIB |\
    + AZX_DCAPS_NO_64BIT |\
    AZX_DCAPS_4K_BDLE_BOUNDARY | AZX_DCAPS_SNOOP_OFF)

    /*
    @@ -2284,11 +2285,13 @@ static const struct pci_device_id azx_ids[] = {
    .class = PCI_CLASS_MULTIMEDIA_HD_AUDIO << 8,
    .class_mask = 0xffffff,
    .driver_data = AZX_DRIVER_CTX | AZX_DCAPS_CTX_WORKAROUND |
    + AZX_DCAPS_NO_64BIT |
    AZX_DCAPS_RIRB_PRE_DELAY | AZX_DCAPS_POSFIX_LPIB },
    #else
    /* this entry seems still valid -- i.e. without emu20kx chip */
    { PCI_DEVICE(0x1102, 0x0009),
    .driver_data = AZX_DRIVER_CTX | AZX_DCAPS_CTX_WORKAROUND |
    + AZX_DCAPS_NO_64BIT |
    AZX_DCAPS_RIRB_PRE_DELAY | AZX_DCAPS_POSFIX_LPIB },
    #endif
    /* CM8888 */
    --
    1.9.1


    \
     
     \ /
      Last update: 2016-01-05 22:01    [W:4.147 / U:0.228 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site