Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Jul 2012 22:59:35 +0000
From:      aleek@FreeBSD.org
To:        svn-soc-all@FreeBSD.org
Subject:   socsvn commit: r239777 - in soc2012/aleek/beaglexm-armv6/sys: arm/conf arm/ti arm/ti/usb boot/fdt/dts
Message-ID:  <20120725225935.0C7D71065675@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: aleek
Date: Wed Jul 25 22:59:34 2012
New Revision: 239777
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=239777

Log:
  trying to fix the bug External Non-Linefetch Abort (S) in OMAP EHCI driver

Modified:
  soc2012/aleek/beaglexm-armv6/sys/arm/conf/BEAGLEBOARD-XM
  soc2012/aleek/beaglexm-armv6/sys/arm/ti/ti_gpio.c
  soc2012/aleek/beaglexm-armv6/sys/arm/ti/ti_machdep.c
  soc2012/aleek/beaglexm-armv6/sys/arm/ti/usb/omap_ehci.c
  soc2012/aleek/beaglexm-armv6/sys/boot/fdt/dts/beagleboardxm.dts

Modified: soc2012/aleek/beaglexm-armv6/sys/arm/conf/BEAGLEBOARD-XM
==============================================================================
--- soc2012/aleek/beaglexm-armv6/sys/arm/conf/BEAGLEBOARD-XM	Wed Jul 25 21:59:10 2012	(r239776)
+++ soc2012/aleek/beaglexm-armv6/sys/arm/conf/BEAGLEBOARD-XM	Wed Jul 25 22:59:34 2012	(r239777)
@@ -48,7 +48,7 @@
 options		PREEMPTION
 
 # Debugging
-makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
+#makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
 #makeoptions	WERROR="-Werror"
 #makeoptions WERROR=""
 options		BREAK_TO_DEBUGGER

Modified: soc2012/aleek/beaglexm-armv6/sys/arm/ti/ti_gpio.c
==============================================================================
--- soc2012/aleek/beaglexm-armv6/sys/arm/ti/ti_gpio.c	Wed Jul 25 21:59:10 2012	(r239776)
+++ soc2012/aleek/beaglexm-armv6/sys/arm/ti/ti_gpio.c	Wed Jul 25 22:59:34 2012	(r239777)
@@ -207,6 +207,8 @@
 	/* The following describes the H/W revision of each of the GPIO banks */
 	uint32_t            sc_revision[MAX_GPIO_BANKS];
 
+	char padding[512];
+
 	struct mtx			sc_mtx;
 };
 
@@ -446,7 +448,10 @@
 		return (EINVAL);
 
 
+	device_printf( sc->sc_dev, "locking mutex\n" );
+	device_printf( sc->sc_dev, "adres mutexa: %p\n", &sc->sc_mtx );
 	TI_GPIO_LOCK(sc);
+	device_printf( sc->sc_dev, "mutex locked!!\n" );
 
 	/* Sanity check the pin number is valid */
 	if ((bank > MAX_GPIO_BANKS) || (sc->sc_mem_res[bank] == NULL)) {
@@ -659,11 +664,15 @@
 	struct ti_gpio_softc *sc = device_get_softc(dev);
 	unsigned int i;
 	int err = 0;
+	memset( sc, 0, sizeof( struct ti_gpio_softc ) );
 
 	sc->sc_dev = dev;
 
+	device_printf(dev, "Inicjalizacja mutexa gpio\n");
 	TI_GPIO_LOCK_INIT(sc);
 
+	device_printf( dev, "Address do softc struct: %p\n", sc );
+
 
 	/* There are up to 6 different GPIO register sets located in different
 	 * memory areas on the chip.  The memory range should have been set for

Modified: soc2012/aleek/beaglexm-armv6/sys/arm/ti/ti_machdep.c
==============================================================================
--- soc2012/aleek/beaglexm-armv6/sys/arm/ti/ti_machdep.c	Wed Jul 25 21:59:10 2012	(r239776)
+++ soc2012/aleek/beaglexm-armv6/sys/arm/ti/ti_machdep.c	Wed Jul 25 22:59:34 2012	(r239777)
@@ -527,8 +527,8 @@
 	    DOMAIN_CLIENT);
 	pmap_pa = kernel_l1pt.pv_pa;
 
-	//arm_early_puts( "Dumping memory layout!\n" );
-	//dump_l1pagetable( kernel_l1pt.pv_pa );
+	arm_early_puts( "Dumping memory layout!\n" );
+	dump_l1pagetable( kernel_l1pt.pv_pa );
 
 	setttb(kernel_l1pt.pv_pa);
 	cpu_tlb_flushID();

Modified: soc2012/aleek/beaglexm-armv6/sys/arm/ti/usb/omap_ehci.c
==============================================================================
--- soc2012/aleek/beaglexm-armv6/sys/arm/ti/usb/omap_ehci.c	Wed Jul 25 21:59:10 2012	(r239776)
+++ soc2012/aleek/beaglexm-armv6/sys/arm/ti/usb/omap_ehci.c	Wed Jul 25 22:59:34 2012	(r239777)
@@ -125,6 +125,7 @@
 	int                 port_mode[3];
 	int                 phy_reset[3];
 	int                 reset_gpio_pin[3];
+	struct mtx			mtx;
 };
 
 static device_attach_t omap_ehci_attach;
@@ -787,6 +788,11 @@
 	int len, tuple_size;
 	int i;
 
+	memset( &isc->mtx, 0, sizeof( struct mtx) );
+
+	device_printf( dev, "%s:%d\n", __FUNCTION__, __LINE__ );
+
+	mtx_init(&isc->mtx, "habababa", "ti_ehci_testowy", MTX_DEF);
 	device_printf( dev, "%s:%d\n", __FUNCTION__, __LINE__ );
 
 	/* initialise some bus fields */
@@ -797,12 +803,17 @@
 	/* save the device */
 	isc->sc_dev = dev;
 	
+	device_printf( dev, "%s:%d\n", __FUNCTION__, __LINE__ );
 	/* get all DMA memory */
 	if (usb_bus_mem_alloc_all(&sc->sc_bus, USB_GET_DMA_TAG(dev),
 	                          &ehci_iterate_hw_softc)) {
 		return (ENOMEM);
 	}
-	
+	device_printf( dev, "%s:%d\n", __FUNCTION__, __LINE__ );
+	mtx_lock( &isc->mtx );
+	device_printf( dev, "%s:%d\n", __FUNCTION__, __LINE__ );
+	mtx_unlock( &isc->mtx );
+	device_printf( dev, "%s:%d\n", __FUNCTION__, __LINE__ );
 	/* When the EHCI driver is added to the tree it is expected that 3
 	 * memory resources and 1 interrupt resource is assigned. The memory
 	 * resources should be:
@@ -881,6 +892,7 @@
 	device_printf( dev, "%s:%d\n", __FUNCTION__, __LINE__ );
 	tuple_size = sizeof(pcell_t) * 3;
 	node = ofw_bus_get_node(dev);
+
 	len = OF_getprop(node, "phy-config", phyconf, sizeof(phyconf));
 	if (len > 0) {
 		if (len % tuple_size)
@@ -897,7 +909,7 @@
 			phyconf_ptr += 3;
 		}
 	}
-	
+
 	device_printf( dev, "%s:%d\n", __FUNCTION__, __LINE__ );
 	/* Initialise the ECHI registers */
 	err = omap_ehci_init(isc);

Modified: soc2012/aleek/beaglexm-armv6/sys/boot/fdt/dts/beagleboardxm.dts
==============================================================================
--- soc2012/aleek/beaglexm-armv6/sys/boot/fdt/dts/beagleboardxm.dts	Wed Jul 25 21:59:10 2012	(r239776)
+++ soc2012/aleek/beaglexm-armv6/sys/boot/fdt/dts/beagleboardxm.dts	Wed Jul 25 22:59:34 2012	(r239777)
@@ -173,7 +173,7 @@
 			interrupts = < 12 13 14 15 >;
 			interrupt-parent = <&AINTC>;
 		};
-
+/*
 		mmchs@4809c000 {
 			compatible = "ti,mmchs";
 			reg =<0x4809c000 0x1000 >;
@@ -181,7 +181,7 @@
 			interrupt-parent = <&AINTC>;
 			mmchs-device-id = <1>;
 		};
-
+*/
 
 		i2c0: i2c@48070000 {
 			#address-cells = <1>;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120725225935.0C7D71065675>