Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/ic mvsata(4) DMA data structures are already __packe...



details:   https://anonhg.NetBSD.org/src/rev/24eda05fd54b
branches:  trunk
changeset: 781247:24eda05fd54b
user:      jakllsch <jakllsch%NetBSD.org@localhost>
date:      Wed Aug 29 16:50:10 2012 +0000

description:
mvsata(4) DMA data structures are already __packed, but as the hardware
requires them to be 8-byte aligned, add __aligned(8) too, so that accesses
on strict alignment platforms are more efficent.

diffstat:

 sys/dev/ic/mvsatareg.h |  10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diffs (45 lines):

diff -r 4e2786b89507 -r 24eda05fd54b sys/dev/ic/mvsatareg.h
--- a/sys/dev/ic/mvsatareg.h    Wed Aug 29 16:48:11 2012 +0000
+++ b/sys/dev/ic/mvsatareg.h    Wed Aug 29 16:50:10 2012 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mvsatareg.h,v 1.2 2012/07/23 14:07:03 jakllsch Exp $   */
+/*     $NetBSD: mvsatareg.h,v 1.3 2012/08/29 16:50:10 jakllsch Exp $   */
 /*
  * Copyright (c) 2008 KIYOHARA Takashi
  * All rights reserved.
@@ -254,7 +254,7 @@
        uint32_t cprdbh;        /* cPRD Desriptor Table Base High Address */
        uint16_t ctrlflg;       /* Control Flags */
        uint16_t atacommand[11];
-} __packed;
+} __packed __aligned(8);
 
 struct crqb_gen2e {
        uint32_t cprdbl;        /* cPRD Desriptor Table Base Low Address */
@@ -262,7 +262,7 @@
        uint32_t ctrlflg;       /* Control Flags */
        uint32_t drbc;          /* Data Region Byte Count */
        uint32_t atacommand[4];
-} __packed;
+} __packed __aligned(8);
 
 
 #define CRQB_CRQBL_EPRD_MASK   0xfffffff0
@@ -301,7 +301,7 @@
        uint16_t eot;           /* End Of Table */
        uint32_t prdbah;        /* address bits[63:32] */
        uint32_t resv;
-} __packed;
+} __packed __aligned(8);
 
 #define EPRD_PRDBAL_MASK       0xfffffffe      /* phy memory region mask */
 
@@ -314,7 +314,7 @@
        uint16_t id;            /* CRPB ID */
        uint16_t rspflg;        /* CPRB Response Flags */
        uint32_t ts;            /* CPRB Time Stamp */
-} __packed;
+} __packed __aligned(8);
 
 /* ID */
 #define CRPB_CHOSTQUETAG(x)    (((x) >> 0) & 0x7f)     /* CRPB Host Q Tag */



Home | Main Index | Thread Index | Old Index