Message ID | 1530166267-13731-1-git-send-email-mac.chiang@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Mac, On Thu, Jun 28, 2018 at 02:11:07PM +0800, mac.chiang@intel.com wrote: > From: Mac Chiang <mac.chiang@intel.com> > > On kbl_rt5663_max98927, commit 38a5882e4292 > ("ASoC: Intel: kbl_rt5663_max98927: Map BTN_0 to KEY_PLAYPAUSE") > This key pair mapping to play/pause when playing Youtube > > The Android 3.5mm Headset jack specification mentions that BTN_0 should > be mapped to KEY_MEDIA, but this is less logical than KEY_PLAYPAUSE, > which has much broader userspace support. > > For example, the Chrome OS userspace now supports KEY_PLAYPAUSE to toggle > play/pause of videos and audio, but does not handle KEY_MEDIA. > > Furthermore, Android itself now supports KEY_PLAYPAUSE equivalently, as the > new USB headset spec requires KEY_PLAYPAUSE for BTN_0. > https://source.android.com/devices/accessories/headset/usb-headset-spec > > The same fix is required on Chrome kbl_da7219_max98357a. > > Signed-off-by: Mac Chiang <mac.chiang@intel.com> Reviewed-by: Benson Leung <bleung@chromium.org>
On 6/27/18 11:11 PM, mac.chiang@intel.com wrote: > From: Mac Chiang <mac.chiang@intel.com> > > On kbl_rt5663_max98927, commit 38a5882e4292 > ("ASoC: Intel: kbl_rt5663_max98927: Map BTN_0 to KEY_PLAYPAUSE") > This key pair mapping to play/pause when playing Youtube > > The Android 3.5mm Headset jack specification mentions that BTN_0 should > be mapped to KEY_MEDIA, but this is less logical than KEY_PLAYPAUSE, > which has much broader userspace support. > > For example, the Chrome OS userspace now supports KEY_PLAYPAUSE to toggle > play/pause of videos and audio, but does not handle KEY_MEDIA. > > Furthermore, Android itself now supports KEY_PLAYPAUSE equivalently, as the > new USB headset spec requires KEY_PLAYPAUSE for BTN_0. > https://source.android.com/devices/accessories/headset/usb-headset-spec > > The same fix is required on Chrome kbl_da7219_max98357a. > > Signed-off-by: Mac Chiang <mac.chiang@intel.com> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> this is aligned with a recent patch for the same headset for an AMD platform. We'd need the same fix for the bxt_da7219 machine driver btw. Naveen, is this something you can look into? Thanks! > --- > sound/soc/intel/boards/kbl_da7219_max98357a.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sound/soc/intel/boards/kbl_da7219_max98357a.c b/sound/soc/intel/boards/kbl_da7219_max98357a.c > index 7961f1f..edafe23 100644 > --- a/sound/soc/intel/boards/kbl_da7219_max98357a.c > +++ b/sound/soc/intel/boards/kbl_da7219_max98357a.c > @@ -188,7 +188,7 @@ static int kabylake_da7219_codec_init(struct snd_soc_pcm_runtime *rtd) > > jack = &ctx->kabylake_headset; > > - snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_MEDIA); > + snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); > snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOLUMEUP); > snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEDOWN); > snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOICECOMMAND); >
On Thu, Jun 28, 2018 at 10:46:58PM -0700, Pierre-Louis Bossart wrote: > On 6/27/18 11:11 PM, mac.chiang@intel.com wrote: > >From: Mac Chiang <mac.chiang@intel.com> > > > >On kbl_rt5663_max98927, commit 38a5882e4292 > > ("ASoC: Intel: kbl_rt5663_max98927: Map BTN_0 to KEY_PLAYPAUSE") > > This key pair mapping to play/pause when playing Youtube > > > >The Android 3.5mm Headset jack specification mentions that BTN_0 should > >be mapped to KEY_MEDIA, but this is less logical than KEY_PLAYPAUSE, > >which has much broader userspace support. > > > >For example, the Chrome OS userspace now supports KEY_PLAYPAUSE to toggle > >play/pause of videos and audio, but does not handle KEY_MEDIA. > > > >Furthermore, Android itself now supports KEY_PLAYPAUSE equivalently, as the > >new USB headset spec requires KEY_PLAYPAUSE for BTN_0. > >https://source.android.com/devices/accessories/headset/usb-headset-spec > > > >The same fix is required on Chrome kbl_da7219_max98357a. > > > >Signed-off-by: Mac Chiang <mac.chiang@intel.com> > > Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> > > this is aligned with a recent patch for the same headset for an AMD > platform. We'd need the same fix for the bxt_da7219 machine driver btw. > Naveen, is this something you can look into? Thanks! > > Agreed Pierre, earlier I have submitted a patch on this for bxt_da7219 - https://patchwork.kernel.org/patch/10335295/ Also I have updated the same for recently ack'd glk_rt5682_max machine. > >--- > > sound/soc/intel/boards/kbl_da7219_max98357a.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > >diff --git a/sound/soc/intel/boards/kbl_da7219_max98357a.c b/sound/soc/intel/boards/kbl_da7219_max98357a.c > >index 7961f1f..edafe23 100644 > >--- a/sound/soc/intel/boards/kbl_da7219_max98357a.c > >+++ b/sound/soc/intel/boards/kbl_da7219_max98357a.c > >@@ -188,7 +188,7 @@ static int kabylake_da7219_codec_init(struct snd_soc_pcm_runtime *rtd) > > jack = &ctx->kabylake_headset; > >- snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_MEDIA); > >+ snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); > > snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOLUMEUP); > > snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEDOWN); > > snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOICECOMMAND); > > >
On 6/29/18 12:59 AM, alsa-devel-bounces@alsa-project.org wrote: > On Thu, Jun 28, 2018 at 10:46:58PM -0700, Pierre-Louis Bossart wrote: >> On 6/27/18 11:11 PM, mac.chiang@intel.com wrote: >>> From: Mac Chiang <mac.chiang@intel.com> >>> >>> On kbl_rt5663_max98927, commit 38a5882e4292 >>> ("ASoC: Intel: kbl_rt5663_max98927: Map BTN_0 to KEY_PLAYPAUSE") >>> This key pair mapping to play/pause when playing Youtube >>> >>> The Android 3.5mm Headset jack specification mentions that BTN_0 should >>> be mapped to KEY_MEDIA, but this is less logical than KEY_PLAYPAUSE, >>> which has much broader userspace support. >>> >>> For example, the Chrome OS userspace now supports KEY_PLAYPAUSE to toggle >>> play/pause of videos and audio, but does not handle KEY_MEDIA. >>> >>> Furthermore, Android itself now supports KEY_PLAYPAUSE equivalently, as the >>> new USB headset spec requires KEY_PLAYPAUSE for BTN_0. >>> https://source.android.com/devices/accessories/headset/usb-headset-spec >>> >>> The same fix is required on Chrome kbl_da7219_max98357a. >>> >>> Signed-off-by: Mac Chiang <mac.chiang@intel.com> >> >> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> >> >> this is aligned with a recent patch for the same headset for an AMD >> platform. We'd need the same fix for the bxt_da7219 machine driver btw. >> Naveen, is this something you can look into? Thanks! >> >> > Agreed Pierre, earlier I have submitted a patch on this for bxt_da7219 - > https://patchwork.kernel.org/patch/10335295/ > Also I have updated the same for recently ack'd glk_rt5682_max machine. Right, but neither of those patches were merged? I may be mistaken but this code wasn't in Mark's tree when I looked yesterday. >>> --- >>> sound/soc/intel/boards/kbl_da7219_max98357a.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/sound/soc/intel/boards/kbl_da7219_max98357a.c b/sound/soc/intel/boards/kbl_da7219_max98357a.c >>> index 7961f1f..edafe23 100644 >>> --- a/sound/soc/intel/boards/kbl_da7219_max98357a.c >>> +++ b/sound/soc/intel/boards/kbl_da7219_max98357a.c >>> @@ -188,7 +188,7 @@ static int kabylake_da7219_codec_init(struct snd_soc_pcm_runtime *rtd) >>> jack = &ctx->kabylake_headset; >>> - snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_MEDIA); >>> + snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); >>> snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOLUMEUP); >>> snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEDOWN); >>> snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOICECOMMAND); >>> >> >
diff --git a/sound/soc/intel/boards/kbl_da7219_max98357a.c b/sound/soc/intel/boards/kbl_da7219_max98357a.c index 7961f1f..edafe23 100644 --- a/sound/soc/intel/boards/kbl_da7219_max98357a.c +++ b/sound/soc/intel/boards/kbl_da7219_max98357a.c @@ -188,7 +188,7 @@ static int kabylake_da7219_codec_init(struct snd_soc_pcm_runtime *rtd) jack = &ctx->kabylake_headset; - snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_MEDIA); + snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOLUMEUP); snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEDOWN); snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOICECOMMAND);