Page MenuHomeFreeBSD

atkbdc: Quirks for AMD Framework laptops
AbandonedPublic

Authored by obiwac on May 23 2025, 4:32 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Oct 6, 1:30 AM
Unknown Object (File)
Fri, Oct 3, 9:01 PM
Unknown Object (File)
Sep 16 2025, 7:34 AM
Unknown Object (File)
Sep 15 2025, 7:53 PM
Unknown Object (File)
Sep 14 2025, 10:31 AM
Unknown Object (File)
Sep 9 2025, 4:55 PM
Unknown Object (File)
Sep 9 2025, 8:21 AM
Unknown Object (File)
Sep 4 2025, 12:06 PM

Details

Summary

On the AMD Frameworks, the first keypress is not registered. This is due to a quirk where the first probe for the keyboard will fail. This revision applies this quirk.

After upgrading to BIOS version 03.09 I also noticed I wasn't getting any interrupts if I didn't also reset the controller. I am not able to reproduce this issue anymore even after doing a mainboard reset (which a priori should restart the EC). I left this in just in case though as I don't think there's any harm done by leaving it in.

Sponsored by: The FreeBSD Foundation

Test Plan

I have tested this on the Framework 13 AMD Ryzen 7040 series.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 64380
Build 61264: arc lint + arc unit

Event Timeline

obiwac created this revision.
sys/dev/atkbdc/atkbdc.c
170

This is an unrelated change and affects all other quirks which makes me nervous.
Why is it needed? Why can't you include the exact string here?

sys/dev/atkbdc/atkbdc.c
170

The QUIRK_STR_CONTAINS check won't affect any of the other quirks as none of them were actually checking the product value previously. Checking the exact string would be a little cumbersome because the product value looks something like "Framework 13 (AMD 7040 series)", and this is an issue which appears on the AMD Framework 16 too and presumably other AMD Frameworks.

If you were talking about QUIRK_STR_MATCH, it was already checking if s2 started with s1, so this is just a rename.

Closing this in favour of the following: https://reviews.freebsd.org/D50498

If anyone else encounters the quirk with BIOS 3.09, I'll open this again with just that change.