All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Niko Huuskonen <niko.huuskonen.00@gmail.com>
Cc: Takashi Iwai <tiwai@suse.com>, Jaroslav Kysela <perex@perex.cz>,
	Daniel Mack <zonque@gmail.com>,
	linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/4] ALSA: caiaq: Kore controller fixes and LCD support
Date: Mon, 28 Sep 2026 18:12:16 +0200	[thread overview]
Message-ID: <877bk54aov.wl-tiwai@suse.de> (raw)
In-Reply-To: <20260927003532.289468-1-niko.huuskonen.00@gmail.com>

On Sun, 27 Sep 2026 02:35:28 +0200,
Niko Huuskonen wrote:
> 
> The Native Instruments Kore controllers (USB 17cc:4711 and 17cc:4712)
> work with snd-usb-caiaq, but a few things are wrong or missing:
> 
> - The EP1 command buffer is shared by all senders without locking.
>   Patch 1 adds a mutex. It is needed by patch 4, which adds a sender.
> 
> - Parts of the Kore key map do not match the hardware: softkeys 5-8
>   come in reverse order, and on the first Kore the knob touch sensors
>   are scrambled. Patch 2 fixes the map.
> 
> - The 128x64 LCD is not supported, and userspace cannot reach it while
>   the driver is bound. Patch 3 adds a hwdep interface ID, and patch 4
>   exposes the LCD as a hwdep device that takes whole frames, plus an
>   "LCD Contrast" control. The display protocol comes from USB captures
>   of the vendor software that the OpenKoreBridge project published.
> 
> Patch 2 changes the key codes userspace sees for softkeys 5-8 on both
> controllers, and for the touch sensors on the first Kore. Userspace
> that compensates for the old map, such as the OpenKoreBridge controller
> script, would have to follow. Userspace can read the map with
> EVIOCGKEYCODE to support kernels with and without the change. If
> changing the codes is a concern, patch 2 can be dropped; the rest of
> the series does not depend on it.
> 
> Testing: the series was tested on a Kore controller (17cc:4711), applied
> to v7.2.6 and built out of tree, with a userspace MIDI bridge that uses
> the LCD, the LEDs and all controls. Every patch builds with W=1, and
> checkpatch.pl --strict only asks whether MAINTAINERS needs updating for
> the new file, which the existing sound/usb/caiaq/ entry already covers.
> The locking problem in patch 1 was found by code review and has not
> been reproduced. A Kore 2 was not available for testing.
> 
> Tool use: the patches were written with an AI coding assistant (Claude,
> an LLM), as the Assisted-by tags say. It worked in an interactive
> session in which I asked it to make the Kore controller usable as a MIDI
> controller on Linux, to find out how its LCD is driven, to fix the
> button mapping I reported from testing the hardware, and to prepare the
> kernel changes for submission. It found the missing locking by code
> review, derived the key map from my tests on the controller, checked the
> LCD protocol on the device over raw USB, and tested each change on my
> controller.
> 
> Niko Huuskonen (4):
>   ALSA: caiaq: Serialize access to the EP1 command buffer
>   ALSA: caiaq: Fix the Kore controller key map
>   ALSA: uapi: Add hwdep interface ID for caiaq devices
>   ALSA: caiaq: Add LCD support for the Kore controllers

Applied all four patches to for-next branch.  Thanks.


Takashi

      parent reply	other threads:[~2026-09-28 16:12 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-27  0:35 [PATCH 0/4] ALSA: caiaq: Kore controller fixes and LCD support Niko Huuskonen
2026-09-27  0:35 ` [PATCH 1/4] ALSA: caiaq: Serialize access to the EP1 command buffer Niko Huuskonen
2026-09-27  0:35 ` [PATCH 2/4] ALSA: caiaq: Fix the Kore controller key map Niko Huuskonen
2026-09-27  0:35 ` [PATCH 3/4] ALSA: uapi: Add hwdep interface ID for caiaq devices Niko Huuskonen
2026-09-27  0:35 ` [PATCH 4/4] ALSA: caiaq: Add LCD support for the Kore controllers Niko Huuskonen
2026-09-28 16:12 ` Takashi Iwai [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877bk54aov.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=niko.huuskonen.00@gmail.com \
    --cc=perex@perex.cz \
    --cc=tiwai@suse.com \
    --cc=zonque@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.