diff --git a/mseries/aurora/test_qualification.py b/mseries/aurora/test_qualification.py index 7e9b7a8e3..439acf3eb 100644 --- a/mseries/aurora/test_qualification.py +++ b/mseries/aurora/test_qualification.py @@ -224,8 +224,9 @@ def test_unified72_snapshot_has_separate_identity_and_no_moving_branch_url(self) self.assertRegex(data["source"]["sha256"], r"^[a-f0-9]{64}$") self.assertTrue(data["kernel_release"]["unified72"].startswith("7.2.11-")) lane = candidate.HERE / "unified72" - # wip4 carries the reviewed #157 display patch, one local DPTX-stall patch, and the - # three commits of upstream PR #186 (route DP-alt ports only once their sink asserts HPD). + # wip5 (merged integration/aurora 2f725546) carries the rebased #157 display patch, one local + # DPTX-stall patch, and the three commits of upstream PR #186 (route DP-alt ports only + # once their sink asserts HPD). self.assertEqual([patch["file"] for patch in data["patches"]], ["0001-drm-apple-srgb-external-display-colour.patch", "0002-drm-apple-free-dp-tunnel-route-from-silent-dcpext.patch", @@ -249,9 +250,13 @@ def test_unified72_snapshot_has_separate_identity_and_no_moving_branch_url(self) self.assertEqual(candidate.sha256(lane / "patches" / retired["file"]), retired["sha256"]) self.assertEqual(data["kernel_release"]["unified72"], - "7.2.11-elementary-aurora72-wip4") - self.assertEqual(data["debian_package"], "linux-image-elementary-aurora72-wip4") - # The installed wip3 and wip2 packages must stay distinct from this one. + "7.2.11-elementary-aurora72-wip5") + self.assertEqual(data["debian_package"], "linux-image-elementary-aurora72-wip5") + self.assertEqual(data["source"]["commit"], "2f725546d6ac6afe0bd5abfa1a844971519f0076") + # udmabuf is not in the .20 recipe config this build starts from, so the overlay stays. + self.assertEqual(data["config"]["candidate"]["UDMABUF"], "y") + # The installed wip4, wip3 and wip2 packages must stay distinct from this one. + self.assertNotEqual(data["debian_package"], "linux-image-elementary-aurora72-wip4") self.assertNotEqual(data["debian_package"], "linux-image-elementary-aurora72-wip3") self.assertNotEqual(data["debian_package"], "linux-image-elementary-aurora72-wip2") receipt = json.loads((lane / data["review_receipt"]).read_text()) diff --git a/mseries/aurora/unified72/README.md b/mseries/aurora/unified72/README.md index 43669b51c..73fd67fe8 100644 --- a/mseries/aurora/unified72/README.md +++ b/mseries/aurora/unified72/README.md @@ -1,5 +1,26 @@ # Unified Aurora 7.2.10 build candidate +## wip5 revision 7 — October 29, 2026 (booted on the J314S; install record in [wip5/README.md](wip5/README.md)) + +The owner chose this re-pin. **Revision 7 pins `7.2.11-elementary-aurora72-wip5`**: merged omacom +`integration/aurora` at `2f725546` (still 7.2.11). Upstream #158, the wip4 source `bd526b3c`, merged on 2026-10-23 +and is an ancestor of it, 388 commits back. The package is `linux-image-elementary-aurora72-wip5`, version +`7.2.11+elementary.aurora72.wip5-1`, so it cannot overwrite the installed wip4. + +The five patches stay. **0001 (#157) is rebased on context only.** Its `dcp-internal.h` hunk now sits above the new +`dcp-panel-edid.h` include. Its `plane.c` hunk is regenerated 194 lines lower, because the old file applied there only +with fuzz 2. The added and removed lines are byte-identical to the wip4 file. 0002 (local) and 0003-0005 (#186) are +unchanged and apply with offsets only. `candidate.py prepare --profile unified72` applied all five to the full archive +in order (`git apply --check`, no fuzz) and passed the config gate. + +**The `UDMABUF`/`DMABUF_HEAPS` overlay stays.** Upstream turned these on only in the `asahi.config` fragment +(`1b4997bb`). This build configures the `.20` recipe's full config, which has them off, so dropping the overlay +would turn udmabuf off. The enhancements lane (`enh1`, base `.20`) is unchanged for the same reason. Its +`0001-udmabuf` and `0006-egpu` patches stay. + +**Not done:** native build (CI), KUnit, any boot. Receipt: [review-wip5-2026-10-29.json](review-wip5-2026-10-29.json). +wip4 revision 5 stays installed and is the running kernel; nothing is staged or armed. + ## Upstream resync — October 29, 2026 (read-only) Receipt: [upstream-resync-2026-10-29.json](upstream-resync-2026-10-29.json); branch snapshot: diff --git a/mseries/aurora/unified72/patches/0001-drm-apple-srgb-external-display-colour.patch b/mseries/aurora/unified72/patches/0001-drm-apple-srgb-external-display-colour.patch index f6af46561..3a8c890a7 100644 --- a/mseries/aurora/unified72/patches/0001-drm-apple-srgb-external-display-colour.patch +++ b/mseries/aurora/unified72/patches/0001-drm-apple-srgb-external-display-colour.patch @@ -1,5 +1,5 @@ diff --git a/drivers/gpu/drm/apple/dcp-internal.h b/drivers/gpu/drm/apple/dcp-internal.h -index 5aedd1acb59451..4c439ac9355af2 100644 +index 0db9ff616da7f9..19c4bed14c2b1a 100644 --- a/drivers/gpu/drm/apple/dcp-internal.h +++ b/drivers/gpu/drm/apple/dcp-internal.h @@ -24,6 +24,9 @@ @@ -9,11 +9,11 @@ index 5aedd1acb59451..4c439ac9355af2 100644 + +/* dcp.c: appledrm.external_srgb module parameter */ +extern bool external_srgb; + #include "dcp-panel-edid.h" #include "dcp-180hz.h" #include "iomfb.h" - #include "iomfb_h17p.h" diff --git a/drivers/gpu/drm/apple/dcp.c b/drivers/gpu/drm/apple/dcp.c -index e84af350c7e081..0839eafc280b88 100644 +index 14d3bdf6403357..4bb8c7ca1e6ea4 100644 --- a/drivers/gpu/drm/apple/dcp.c +++ b/drivers/gpu/drm/apple/dcp.c @@ -208,6 +208,11 @@ static bool unstable_edid = true; @@ -29,10 +29,10 @@ index e84af350c7e081..0839eafc280b88 100644 bool dcp_is_external_h17p(struct apple_dcp *dcp) diff --git a/drivers/gpu/drm/apple/iomfb_template.c b/drivers/gpu/drm/apple/iomfb_template.c -index ad3f1a5291bae1..b7227ff8136063 100644 +index c1b0e21b65e5e6..38e681615c5551 100644 --- a/drivers/gpu/drm/apple/iomfb_template.c +++ b/drivers/gpu/drm/apple/iomfb_template.c -@@ -2503,6 +2503,19 @@ void DCP_FW_NAME(iomfb_flush)(struct apple_dcp *dcp, struct drm_crtc *crtc, stru +@@ -2515,6 +2515,19 @@ void DCP_FW_NAME(iomfb_flush)(struct apple_dcp *dcp, struct drm_crtc *crtc, stru req->surf[l].base.colorspace == DCP_COLORSPACE_BG_SRGB) req->surf[l].base.colorspace = DCP_COLORSPACE_NATIVE; @@ -53,7 +53,7 @@ index ad3f1a5291bae1..b7227ff8136063 100644 /* H17P external SDR RGB needs an sRGB source tag. Native * tagging washes out the same pixel values on this profile. diff --git a/drivers/gpu/drm/apple/parser.c b/drivers/gpu/drm/apple/parser.c -index 0de67aa8fe710e..bb8a49378fb005 100644 +index 1d0638360251c6..f3265976768a7d 100644 --- a/drivers/gpu/drm/apple/parser.c +++ b/drivers/gpu/drm/apple/parser.c @@ -8,6 +8,7 @@ @@ -150,12 +150,12 @@ index 0de67aa8fe710e..bb8a49378fb005 100644 &unsafe_rgb8 : NULL); else if (!strcmp(key, "ID")) diff --git a/drivers/gpu/drm/apple/plane.c b/drivers/gpu/drm/apple/plane.c -index aa5bbc9551d2ce..f97bef93e9be35 100644 +index cde215f62b1436..f922c6f24ce28d 100644 --- a/drivers/gpu/drm/apple/plane.c +++ b/drivers/gpu/drm/apple/plane.c -@@ -228,12 +228,15 @@ static void apple_plane_atomic_update(struct drm_plane *plane, - struct drm_framebuffer *fb = base->fb; - const struct drm_format_info *fmt = fb->format; +@@ -422,12 +422,15 @@ static void apple_plane_atomic_update(struct drm_plane *plane, + } + /* - * DCP doesn't support XBGR8 / XRGB8 / XBGR2101010 natively. Blending as + * DCP doesn't support XBGR8 / XRGB8 / XRGB2101010 / XBGR2101010 diff --git a/mseries/aurora/unified72/review-wip5-2026-10-29.json b/mseries/aurora/unified72/review-wip5-2026-10-29.json new file mode 100644 index 000000000..afd750a8e --- /dev/null +++ b/mseries/aurora/unified72/review-wip5-2026-10-29.json @@ -0,0 +1,104 @@ +{ + "schema": 1, + "reviewed_on": "2026-10-29", + "source": "2f725546d6ac6afe0bd5abfa1a844971519f0076", + "previous_source": "bd526b3c11ccf8e91d6240261beb3219d8f17f03", + "upstream_pr": null, + "upstream_status": "Source is omacom/linux-aurora integration/aurora at 2f725546 (7.2.11). #158 (the wip4 source) merged on 2026-10-23 and is an ancestor; 388 commits newer. #157 (head 9d3aeb24) and #186 (head 2a37f6f2) still open, unchanged.", + "patches": [ + { + "file": "0001-drm-apple-srgb-external-display-colour.patch", + "upstream": "https://github.com/omacom/linux-aurora/pull/157", + "head": "9d3aeb24cb864d5f99a7172e9004884bf3c1a9a0", + "base_of_pr": "44d5afc79da79bb3b17a3ee7494cb8d07a1f1aaa", + "files": [ + "drivers/gpu/drm/apple/dcp-internal.h", + "drivers/gpu/drm/apple/dcp.c", + "drivers/gpu/drm/apple/iomfb_template.c", + "drivers/gpu/drm/apple/parser.c", + "drivers/gpu/drm/apple/plane.c" + ], + "applicability": "Rebased (context only) on the five files at 2f725546: dcp-internal.h hunk placed above the new dcp-panel-edid.h include, plane.c hunk regenerated at +194 lines (it applied before only with fuzz 2). Added/removed lines are byte-identical to the wip4 file. git apply --check passes with no fuzz.", + "previous_sha256": "9cd617e413c69006349e8ffa914ee0c16d1d7ba246d5afd9e1031aafbbf09573" + }, + { + "file": "0002-drm-apple-free-dp-tunnel-route-from-silent-dcpext.patch", + "upstream": null, + "files": [ + "drivers/gpu/drm/apple/dcp-fabric-core.c", + "drivers/gpu/drm/apple/dcp-fabric-core.h", + "drivers/gpu/drm/apple/dcp-fabric-test.c", + "drivers/gpu/drm/apple/dcp-fabric.c", + "drivers/gpu/drm/apple/dcp-internal.h", + "drivers/gpu/drm/apple/dcp.c" + ], + "applicability": "Unchanged file. git apply --check passes in series order after the rebased 0001 at 2f725546, offsets only (git apply does not fuzz).", + "evidence": "mseries/aurora/hardware-tests/2026-10-22-j314s-wip3-dcpext1-dptx-wedge.md" + }, + { + "file": "0003-drm-apple-dcp-let-a-typec-port-with-hpd-take-over-a-held-pipeline.patch", + "upstream": "https://github.com/omacom/linux-aurora/pull/186", + "head": "4da4932b130b21d7367d56859f558c4e8a8f101f", + "base_of_pr": "42672ed79dead511ecf65e96d988a98a0f94b5bb", + "files": [ + "drivers/gpu/drm/apple/dcp-fabric.c" + ], + "applicability": "Unchanged file. git apply --check passes in series order after the rebased 0001 at 2f725546, offsets only (git apply does not fuzz)." + }, + { + "file": "0004-drm-apple-dcp-route-a-dp-alt-port-only-once-its-sink-asserts-hpd.patch", + "upstream": "https://github.com/omacom/linux-aurora/pull/186", + "head": "bd1ad7b9b2795b7d3b3c7e616a54b78f9c92c6e0", + "base_of_pr": "42672ed79dead511ecf65e96d988a98a0f94b5bb", + "files": [ + "drivers/gpu/drm/apple/dcp-fabric.c" + ], + "applicability": "Unchanged file. git apply --check passes in series order after the rebased 0001 at 2f725546, offsets only (git apply does not fuzz)." + }, + { + "file": "0005-usb-typec-tipd-treat-enospc-as-a-taken-display-on-every-soc.patch", + "upstream": "https://github.com/omacom/linux-aurora/pull/186", + "head": "2a37f6f206456462970b3bbb3bf9bf8bd8944acd", + "base_of_pr": "42672ed79dead511ecf65e96d988a98a0f94b5bb", + "files": [ + "drivers/usb/typec/tipd/cd321x-pm-test.c", + "drivers/usb/typec/tipd/cd321x-pm.h" + ], + "applicability": "Unchanged file. git apply --check passes in series order after the rebased 0001 at 2f725546, offsets only (git apply does not fuzz)." + } + ], + "full_tree_check": { + "command": "python3 mseries/aurora/candidate.py prepare --profile unified72 --cache ~/.cache/mseries-upstream/wip5 --output ~/.cache/mseries-upstream/wip5/prepared", + "result": "exit 0: git apply --check then git apply for 0001-0005 in order on the full extracted archive; config gate passed", + "source_fetch_method": "pinned-archive-sha256", + "prepared_config_sha256": "20efc4af999b142e5cac358b9567a00a24bf3b687b30d47cadccc194c888126d", + "resolved": { + "UDMABUF": "y", + "DMABUF_HEAPS": "y", + "DMABUF_HEAPS_SYSTEM": "y", + "DRM_AMDGPU": "n" + }, + "localversion": "-elementary-aurora72-wip5" + }, + "config_overlay": "Kept. The .20 recipe config used by candidate.py has '# CONFIG_UDMABUF is not set' and '# CONFIG_DMABUF_HEAPS is not set'; upstream enabled them only in the arch/arm64/configs/asahi.config fragment (1b4997bb), which this build does not read. Dropping the overlay would turn udmabuf off.", + "not_rerun": [ + "kernel build (CI aurora-enhancements.yml decides)", + "candidate.py check host tests (no local rustc run here)", + "KUnit, including fabric_unresponsive_pipeline_test and the cd321x tests", + "64-fix semantic parity", + "any hardware test" + ], + "known_interactions": [ + "0001: upstream rewrote plane layout handling (8c26443, validate the plane layout sent to DCP); the premultiplied-format hunk is unchanged, but the build is the real check.", + "0002 and 0003/0004 both edit dcp-fabric.c; unchanged from wip4, offsets only. Their semantic interaction is still unreviewed.", + "Upstream thunderbolt DP-pairing deferral (7fcb47d, 3975d42, bc1b422) is new in this source and sits on the dock path that 0002-0004 also touch.", + "Config options added upstream after .20 (for example the CIO reset controller built in, 669333d2) take olddefconfig defaults here, because the build uses the .20 recipe config, as for wip4.", + "Upstream PR #163 is still not carried: it fixes the same tipd bug as 0005 and conflicts with it." + ], + "archive_verification": { + "sha256": "3f1b9cd779cc4ff94b8ff0575388223e1da0894160763133eb6b836352272bad", + "bytes": 271150123, + "method": "Entire codeload gzip downloaded to ~/.cache and hashed locally (trust on first use: the pin is this digest); tar root read from the archive listing; Makefile reads VERSION 7, PATCHLEVEL 2, SUBLEVEL 11. git_tree_sha1 1702c514 is from the GitHub commit object, for the Git fallback.", + "archive_root": "linux-aurora-2f725546d6ac6afe0bd5abfa1a844971519f0076" + } +} diff --git a/mseries/aurora/unified72/series.json b/mseries/aurora/unified72/series.json index 01ef5c098..d8dd8865c 100644 --- a/mseries/aurora/unified72/series.json +++ b/mseries/aurora/unified72/series.json @@ -1,31 +1,32 @@ { "schema": 1, "base_source": "c46d7dcdb8712ea9aeb0ce47b439ffae76371e55", - "revision": 6, + "revision": 7, "source": { - "repository": "aurora-silicon/linux", - "commit": "bd526b3c11ccf8e91d6240261beb3219d8f17f03", + "repository": "omacom/linux-aurora", + "commit": "2f725546d6ac6afe0bd5abfa1a844971519f0076", "git_url": "https://github.com/omacom/linux-aurora.git", - "git_tree_sha1": "a305f231d9137847c7f0ececca98e214cc30e792", - "upstream_pr": "https://github.com/omacom/linux-aurora/pull/158", - "name": "linux-aurora-bd526b3c11ccf8e91d6240261beb3219d8f17f03.tar.gz", - "url": "https://codeload.github.com/omacom/linux-aurora/tar.gz/bd526b3c11ccf8e91d6240261beb3219d8f17f03", - "archive_root": "linux-aurora-bd526b3c11ccf8e91d6240261beb3219d8f17f03", - "sha256": "881d5a061efa212ed28489311cc97ab6d9bf52891a6c7a00b18f0bbaff131957" + "git_tree_sha1": "1702c514fd6373bd0a81846c28dd1c030ebd663c", + "upstream_pr": null, + "upstream_ref": "integration/aurora (head on 2026-10-29; contains merged #158)", + "name": "linux-aurora-2f725546d6ac6afe0bd5abfa1a844971519f0076.tar.gz", + "url": "https://codeload.github.com/omacom/linux-aurora/tar.gz/2f725546d6ac6afe0bd5abfa1a844971519f0076", + "archive_root": "linux-aurora-2f725546d6ac6afe0bd5abfa1a844971519f0076", + "sha256": "3f1b9cd779cc4ff94b8ff0575388223e1da0894160763133eb6b836352272bad" }, "kernel_release": { - "unified72": "7.2.11-elementary-aurora72-wip4" + "unified72": "7.2.11-elementary-aurora72-wip5" }, - "debian_package": "linux-image-elementary-aurora72-wip4", - "debian_version": "7.2.11+elementary.aurora72.wip4-1", + "debian_package": "linux-image-elementary-aurora72-wip5", + "debian_version": "7.2.11+elementary.aurora72.wip5-1", "patches": [ { "file": "0001-drm-apple-srgb-external-display-colour.patch", - "sha256": "9cd617e413c69006349e8ffa914ee0c16d1d7ba246d5afd9e1031aafbbf09573", + "sha256": "6dc8aadcdc0c7c39710d3b9164c388f11b0b2fa111b73e8e14a63bb759ba8fe1", "upstream": "https://github.com/omacom/linux-aurora/pull/157", "head": "9d3aeb24cb864d5f99a7172e9004884bf3c1a9a0", "profile": "candidate", - "note": "drm/apple: sRGB surfaces and an sRGB link colorimetry for external displays (unmerged upstream PR #157, 5 files, +73/-6). Applies to the #158 head with small offsets; must be re-checked if #158 moves." + "note": "drm/apple: sRGB surfaces and an sRGB link colorimetry for external displays (unmerged upstream PR #157, 5 files, +73/-6). Rebased for wip5 (context only; previous sha256 9cd617e413c69006349e8ffa914ee0c16d1d7ba246d5afd9e1031aafbbf09573): the dcp-internal.h hunk now sits above the new dcp-panel-edid.h include and the plane.c hunk moved +194 lines after upstream's plane-layout rewrite. Added and removed lines are unchanged. Must be re-checked if #157 moves." }, { "file": "0002-drm-apple-free-dp-tunnel-route-from-silent-dcpext.patch", @@ -71,7 +72,7 @@ "tools/asahi/pmp-bootargs-tests.rs", "tools/asahi/pmp-power-tests.rs" ], - "qualification": "Same unmerged #158 source (head bd526b3c) and #157 patch as wip3, plus one local patch for the dcpext1 DPTX stall seen on the first wip3 dock plug (2026-10-22). Build-only candidate: patch application is checked on the exact source files and the pure routing logic was exercised in userspace; kernel build, KUnit, J314S boot, dock and recovery are NOT established. Replaces the wip3 pin in this file; wip3 stays installed and is the running trial kernel. Revision 6 adds upstream PR #186 (three commits, tested head 2a37f6f2) so ports route to a display controller only once their sink asserts HPD; it complements local patch 0002. Build-only; nothing booted.", + "qualification": "wip5: merged upstream source (omacom integration/aurora 2f725546, 7.2.11, 388 commits past the wip4 #158 head bd526b3c, which merged on 2026-10-23) with the same five patches: #157 rebased on context only, local 0002 and #186 (0003-0005) unchanged. Each applies in order with git apply and no fuzz. The UDMABUF/DMABUF_HEAPS overlay stays: the build configures the .20 recipe's full config, not upstream's asahi.config fragment, so the fragment's 1b4997bb settings do not reach this build. Build-only candidate: CI native build, KUnit, J314S boot, dock and recovery are NOT established. Replaces the wip4 pin in this file; wip4 (revision 5) stays installed and is the running kernel.", "superseded_patches": [ { "file": "0001-stock-bindgen-layout-policy.patch", @@ -82,5 +83,5 @@ "note": "Historical local port for wip1; corresponding stock-bindgen default and BINDGEN_LAYOUT_TESTS opt-in are now carried in merged upstream source. Retained for provenance; not applied to wip2." } ], - "review_receipt": "review-wip4-2026-10-27.json" + "review_receipt": "review-wip5-2026-10-29.json" }