Skip to contentSkip to conversation

HP nx6110 quirks

PATCH Applied Sergey Vlasov 3 participants 5 messages Aug 20, 2005 – Aug 22, 2005

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 HP nx6110 quirks

The HP nx6110 laptop needs to have Headphone Jack Sense enabled so that the internal speakers will be turned off when headphones are plugged in.

Also ac97_quirk=hp_only is needed to make a single Master volume in the mixer instead of separate volumes for internal speakers and headphones, which just confuses the user.

---

The patch is for the current alsa-kernel CVS.

 pci/ac97/ac97_patch.c |    1 +
 pci/intel8x0.c        |    6 ++++++
 2 files changed, 7 insertions(+)
pci/ac97/ac97_patch.c renamed from pci/ac97/ac97_patch.c.alt-hp-nx6110 +1 -0
@@ -1629,6 +1629,7 @@ static void check_ad1981_hp_jack_sense(a
 	u32 subid = ((u32)ac97->subsystem_vendor << 16) | ac97->subsystem_device;
 	switch (subid) {
 	case 0x103c0890: /* HP nc6000 */
+	case 0x103c099c: /* HP nx6110 */
 	case 0x103c006d: /* HP nx9105 */
 	case 0x17340088: /* FSC Scenic-W */
 		/* enable headphone jack sense */
pci/intel8x0.c renamed from pci/intel8x0.c.alt-hp-nx6110 +6 -0
@@ -1826,6 +1826,12 @@ static struct ac97_quirk ac97_quirks[] _
 	},
 	{
 		.subvendor = 0x103c,
+		.subdevice = 0x099c,
+		.name = "HP nx6110",	/* AD1981B */
+		.type = AC97_TUNE_HP_ONLY
+	},
+	{
+		.subvendor = 0x103c,
 		.subdevice = 0x129d,
 		.name = "HP xw8000",
 		.type = AC97_TUNE_HP_ONLY

-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf

#1 lore raw
Quoted 4 lines · Sergey Vlasov

Also ac97_quirk=hp_only is needed to make a single Master volume in the mixer instead of separate volumes for internal speakers and headphones, which just confuses the user.

The ALSA driver is supposed to expose all the hardware functionality. It's up to the mixer apps to present it to the user in a sane way. So if the hardware supports separate volume controls for the headphones and internal speakers we should not disable this functionality. Why not make three controls, Master, External Speakers and Headphones?

Lee

-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf

#2 lore raw
Quoted 11 lines · Lee Revell
Quoted 4 lines · Sergey Vlasov

Also ac97_quirk=hp_only is needed to make a single Master volume in the mixer instead of separate volumes for internal speakers and headphones, which just confuses the user.

The ALSA driver is supposed to expose all the hardware functionality. It's up to the mixer apps to present it to the user in a sane way. So if the hardware supports separate volume controls for the headphones and internal speakers we should not disable this functionality. Why not make three controls, Master, External Speakers and Headphones?

Then we will need to create virtual controls - the chip has only two volume control registers for this, so we will need to make three virtual controls for volumes, then combine values and write them to the chip. And this will need to be done inside the driver (otherwise where the values of virtual controls will be stored while no ALSA programs are running?). Would this be acceptable?

#3 lore raw
Quoted 6 lines · Sergey Vlasov

Then we will need to create virtual controls - the chip has only two volume control registers for this, so we will need to make three virtual controls for volumes, then combine values and write them to the chip. And this will need to be done inside the driver (otherwise where the values of virtual controls will be stored while no ALSA programs are running?). Would this be acceptable?

Actually I was wrong, this is actually supposed to be handled by the new abstract mixer layer in alsa-lib. You're right, it does not make sense to make each mixer implement it.

I don't think it's well documented yet but AFAIK it should work.

Lee

-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf

Applied
#4 lore raw
In reply to Sergey Vlasov

At Sat, 20 Aug 2005 22:17:30 +0400,

Quoted 10 lines · Sergey Vlasov

The HP nx6110 laptop needs to have Headphone Jack Sense enabled so that the internal speakers will be turned off when headphones are plugged in.

Also ac97_quirk=hp_only is needed to make a single Master volume in the mixer instead of separate volumes for internal speakers and headphones, which just confuses the user.

Thanks, applied to CVS.

Takashi

-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf