As of the documentation, the UTP Command Descriptor Base Address (UCDBA)
authormglocker <mglocker@openbsd.org>
Fri, 19 Apr 2024 20:43:33 +0000 (20:43 +0000)
committermglocker <mglocker@openbsd.org>
Fri, 19 Apr 2024 20:43:33 +0000 (20:43 +0000)
needs to be aligned on a 128-byte address.

This fixes an issue seen on the PCI controller, where a DMA transfer
scheduled on a odd slot will fail.

sys/dev/ic/ufshcireg.h

index 4893d1e..d251c5f 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ufshcireg.h,v 1.4 2024/01/04 21:02:30 mglocker Exp $ */
+/*     $OpenBSD: ufshcireg.h,v 1.5 2024/04/19 20:43:33 mglocker Exp $ */
 
 /*
  * Copyright (c) 2022 Marcus Glocker <mglocker@openbsd.org>
@@ -362,4 +362,4 @@ struct ufshci_ucd {
        struct upiu_command cmd;
        struct upiu_response rsp;
        struct ufshci_ucd_prdt prdt[UFSHCI_UCD_PRDT_MAX_SEGS];
-};
+} __packed __aligned(128);