03 Sep, 2012

1 commit


31 Aug, 2012

3 commits


30 Aug, 2012

5 commits

  • k1212MinADCSens and k1212MaxADCSens are defined wrongly.
    The max must be greater than the min by obvious reason.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=46561

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Move up a few bitfields to be packed into a single int.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • CONFIG_SND_HDA_POWER_SAVE is no longer an experimental feature and its
    behavior can be well controlled via the default value and module
    parameter. Let's just replace it with the standard CONFIG_PM.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • When a codec provides its own set_power_state op, the D3-clock-stop
    isn't checked correctly. And the recent changes for repeating the
    state-setting operation isn't applied to such a codec, too.

    This patch fixes these issues by moving the call of codec's own op to
    the place where the generic power-set operation is done, and move the
    power-state synchronization code out of
    snd_hda_set_power_state_to_all() so that it can be called always at
    the end of power-up/down sequence, and updates the D3 clock-stop flag
    properly.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • When the HD-audio is removed, it leaves the refcounts when codecs are
    powered up (usually yes) in the destructor. For fixing the unbalance,
    and cleaning up the code mess, this patch changes the following:
    - change pm_notify callback to take the explicit power on/off state,
    - check of D3 stop-clock and keep_link_on flags is moved to the caller
    side,
    - call pm_notify callback in snd_hda_codec_new() and snd_hda_codec_free()
    so that the refcounts are proprely updated.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

29 Aug, 2012

6 commits

  • The two entries are duplicated in struct snd_usb_endpoint.
    Seems forgotten in the last clean-up.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • v2: Fixed result still wrong in the case of 512 KiB DRAM. Oops.

    Applicable to 3.5.3 mainline.

    In emu8000.c, size_dram determines the amount of memory on the sound card by
    doing write/readback tests starting at 512 KiB and incrementing by 512 KiB.
    On success, detected_size is updated to the successful address and testing
    continues. On failure, the loop is immediately exited. The resulting
    detected_size is 512 KiB too small except in two special cases:

    1. If there is no memory, the initial 0 value of detected_size is used, which
    is correct.
    2. If the address space wraps around, detected_size is updated before the
    bailout, so the result is correct.

    The patch corrects all cases and was tested with an AWE64 Gold. Before:
    EMU8000 [0x620]: 3584 Kb on-board memory detected
    asfxload 4GMGSMT.SF2 (4174814 B) fails.
    After:
    EMU8000 [0x620]: 4096 Kb on-board memory detected
    asfxload 4GMGSMT.SF2 succeeds.

    I do not have a card with 512 KiB to test with, but by forcibly enabling the
    added conditional I verified on the AWE64 Gold that it detects 512 KiB
    (successfully reading from the first memory location) and does not hang the
    card.

    C.f. Bug 46451 https://bugzilla.kernel.org/show_bug.cgi?id=46451

    Signed-off-by: David Flater
    Signed-off-by: Takashi Iwai

    David Flater
     
  • Need to merge the fixes regarding EPSS.

    Conflicts:
    sound/pci/hda/hda_codec.c

    Takashi Iwai
     
  • These codecs seem reporting EPSS but require longer delay for the
    proper D3 transition. For example, D3_STOP_CLOCK_OK bit won't be set
    correctly even after D3.

    In this patch, codec->epss flag is overridden for avoid the
    misbehavior.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • EPSS parameter should be static, so we can read it once and remember.
    This also allows more easily to override the wrong EPSS capability
    reported from a codec by changing the flag in the codec
    initialization step.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Use unsigned int to make clear that the codes required only for
    modules will be reduced by the compiler optimization.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

27 Aug, 2012

1 commit


24 Aug, 2012

2 commits

  • sound/isa/cmi8328.c: In function 'snd_cmi8328_remove':
    sound/isa/cmi8328.c:416:24: error: 'cmi' undeclared (first use in this function)
    sound/isa/cmi8328.c:416:24: note: each undeclared identifier is reported only once for each function it appears in
    make[3]: *** [sound/isa/cmi8328.o] Error 1

    Reported-by: Randy Dunlap
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The patch to support runtime PM introduced a bug:
    Module parameter 'power_save_controller', and the codec flag 'd3_stop_clk'
    'd3_stop_clk_ok' are defined only when HDA power save is enabled in config. But
    there are references to them without checking macro CONFIG_SND_HDA_POWER_SAVE.

    This patch is to fix the bug.

    Signed-off-by: Mengdong Lin
    Signed-off-by: Takashi Iwai

    Mengdong Lin
     

23 Aug, 2012

1 commit

  • Runtime PM can bring more power saving:
    - When the controller is suspended, its parent device will also have a chance
    to suspend.
    - PCI subsystem can choose the lowest power state the controller can signal
    wake up from. This state can be D3cold on platforms with ACPI PM support.
    And runtime PM can provide a gerneral sysfs interface for a system policy
    manager.

    Runtime PM support is based on current HDA power saving implementation. The user
    can enable runtime PM on platfroms that provide acceptable latency on transition
    from D3 to D0.

    Details:
    - When both power saving and runtime PM are enabled:
    -- If a codec supports 'stop-clock' in D3, it will request suspending the
    controller after it enters D3 and request resuming the controller before
    back to D0. Thus the controller will be suspended only when all codecs are
    suspended and support stop-clock in D3.
    -- User IO operations and HW wakeup signal can resume the controller back to
    D0.
    - If runtime PM is disabled, power saving just works as before.
    - If power saving is disabled, the controller won't be suspended because the
    power usage counter can never be 0.

    More about 'stop-clock' feature:
    If a codec can support targeted pass-through operations in D3 state when there
    is no BCLK present on the link, it will set CLKSTOP flag in the supported power
    states and report PS-ClkStopOk when entering D3 state. Please refer to HDA spec
    section 7.3.3.10 Power state and 7.3.4.12 Supported Power State.

    [Fixed CONFIG_PM_RUNTIME dependency in hda_intel.c by tiwai]

    Signed-off-by: Mengdong Lin
    Signed-off-by: Takashi Iwai

    Mengdong Lin
     

22 Aug, 2012

2 commits


21 Aug, 2012

6 commits


20 Aug, 2012

13 commits