summaryrefslogtreecommitdiff
path: root/recipes/ixp4xx/ixp-osal-2.1/le.patch
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/ixp4xx/ixp-osal-2.1/le.patch
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/ixp4xx/ixp-osal-2.1/le.patch')
-rw-r--r--recipes/ixp4xx/ixp-osal-2.1/le.patch72
1 files changed, 72 insertions, 0 deletions
diff --git a/recipes/ixp4xx/ixp-osal-2.1/le.patch b/recipes/ixp4xx/ixp-osal-2.1/le.patch
new file mode 100644
index 0000000000..a6936ea33b
--- /dev/null
+++ b/recipes/ixp4xx/ixp-osal-2.1/le.patch
@@ -0,0 +1,72 @@
+ include/modules/ioMem/IxOsalIoMem.h | 4 ++--
+ include/modules/ioMem/IxOsalMemAccess.h | 2 +-
+ os/linux/include/platforms/ixp400/IxOsalOsIxp400CustomizedMapping.h | 2 +-
+ os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h | 2 +-
+ os/linux/src/modules/ioMem/IxOsalOsIoMem.c | 3 +++
+ 5 files changed, 8 insertions(+), 5 deletions(-)
+
+--- ixp_osal/include/modules/ioMem/IxOsalIoMem.h 1970-01-01 00:00:00.000000000 +0000
++++ ixp_osal/include/modules/ioMem/IxOsalIoMem.h 1970-01-01 00:00:00.000000000 +0000
+@@ -117,8 +117,8 @@ ixOsalCoreWordSwap (UINT32 wordIn)
+ #endif /* ndef __wince */
+
+ #define IX_OSAL_SWAP_SHORT(sData) ((sData >> 8) | ((sData & 0xFF) << 8))
+-#define IX_OSAL_SWAP_SHORT_ADDRESS(sAddr) ((sAddr) ^ 0x2)
+-#define IX_OSAL_SWAP_BYTE_ADDRESS(bAddr) ((bAddr) ^ 0x3)
++#define IX_OSAL_SWAP_SHORT_ADDRESS(sAddr) ((UINT16*)((UINT32)(sAddr) ^ 0x2))
++#define IX_OSAL_SWAP_BYTE_ADDRESS(bAddr) ((UINT8*)((UINT32)(bAddr) ^ 0x3))
+
+ #define IX_OSAL_BE_XSTOBUSL(wData) (wData)
+ #define IX_OSAL_BE_XSTOBUSS(sData) (sData)
+--- ixp_osal/include/modules/ioMem/IxOsalMemAccess.h 1970-01-01 00:00:00.000000000 +0000
++++ ixp_osal/include/modules/ioMem/IxOsalMemAccess.h 1970-01-01 00:00:00.000000000 +0000
+@@ -84,7 +84,7 @@
+
+ #elif defined (IX_OSAL_LINUX_LE)
+
+-#define IX_SDRAM_LE_DATA_COHERENT
++#define IX_SDRAM_LE_ADDRESS_COHERENT
+
+ #elif defined (IX_OSAL_WINCE_LE)
+
+--- ixp_osal/os/linux/include/platforms/ixp400/IxOsalOsIxp400CustomizedMapping.h 1970-01-01 00:00:00.000000000 +0000
++++ ixp_osal/os/linux/include/platforms/ixp400/IxOsalOsIxp400CustomizedMapping.h 1970-01-01 00:00:00.000000000 +0000
+@@ -171,7 +171,7 @@
+ ***************************/
+ #if (IX_COMPONENT_NAME == ix_qmgr)
+
+-#define IX_OSAL_LE_DC_MAPPING
++#define IX_OSAL_LE_AC_MAPPING
+
+ #endif /* qmgr */
+
+--- ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h 1970-01-01 00:00:00.000000000 +0000
++++ ixp_osal/os/linux/include/platforms/ixp400/ixp425/IxOsalOsIxp425Sys.h 1970-01-01 00:00:00.000000000 +0000
+@@ -107,7 +107,7 @@ IxOsalMemoryMap ixOsalGlobalMemoryMap[]
+ ixOsalLinuxMemMap, /* mapFunction */
+ ixOsalLinuxMemUnmap, /* unmapFunction */
+ 0, /* refCount */
+- IX_OSAL_BE | IX_OSAL_LE_DC, /* endianType */
++ IX_OSAL_BE | IX_OSAL_LE_AC, /* endianType */
+ "qMgr" /* name */
+ },
+
+--- ixp_osal/os/linux/src/modules/ioMem/IxOsalOsIoMem.c 1970-01-01 00:00:00.000000000 +0000
++++ ixp_osal/os/linux/src/modules/ioMem/IxOsalOsIoMem.c 1970-01-01 00:00:00.000000000 +0000
+@@ -45,6 +45,7 @@
+ * -- End Intel Copyright Notice --
+ */
+
++#include <asm/page.h>
+ #include <asm/io.h>
+ #include <linux/ioport.h>
+
+@@ -54,6 +55,8 @@
+ PUBLIC void
+ ixOsalLinuxMemMap (IxOsalMemoryMap * map)
+ {
++ /* Linux requires LE mappings to use address coherency */
++ IX_OSAL_ENSURE((map->mapEndianType & IX_OSAL_LE_DC) == 0, "LE Data Coherency not supported");
+ map->virtualAddress = (UINT32) ioremap (map->physicalAddress, map->size);
+ }
+