NetBSD-Bugs archive

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

Re: kern/49018: Sun Ultra 25 Workstation cannot use bge0 and bge1.



 Hi, all.

Martin said:
>  On Fri, Jul 18, 2014 at 07:25:00PM +0000, nullnilaki%gmail.com@localhost 
> wrote:
>  > bge0 at pci5 dev 4 function 0: Broadcom BCM5715 Gigabit Ethernet
>  > bge0: interrupting at ivec 3796
>  > bge0: HW config 00000015, 00000015, 00000000, 00000000 00000000
>  > bge0: ASIC BCM5715 A1 (0x9001), Ethernet address 00:14:4f:58:19:62
>  > bge0: WARNING: failed to restrict dma range, falling back to parent bus 
> dma range
>  [..]
>  > I think that the cause of the problem is  NetBSD/sparc64 not supported 
> bus_dmatag_subregion()?
>  
>  This would only be a problem if you had physical memory mapped above 1<<40,
>  which is unlikely in your case.
>  
>  Masanobu, any ideas on this one?
>  
>  Martin

Perhaps that problem isn't related to bus_dmatag_subregion().

(2014/07/20 2:05), Takeshi Nakayama wrote:
> The following reply was made to PR kern/49018; it has been noted by GNATS.
> 
> From: Takeshi Nakayama <tn%catvmics.ne.jp@localhost>
> To: gnats-bugs%NetBSD.org@localhost
> Cc: 
> Subject: Re: kern/49018: Sun Ultra 25 Workstation cannot use bge0 and bge1.
> Date: Sun, 20 Jul 2014 02:02:08 +0900 (JST)
> 
>  >>> nullnilaki%gmail.com@localhost wrote
>  
>  > >Number:         49018
>  > >Category:       kern
>  > >Synopsis:       Sun Ultra 25 Workstation cannot use bge0 and bge1.
>  
>  I have no idea about this issue, but I remember some discussion on
>  port-sparc64.
>  
>  http://mail-index.netbsd.org/port-sparc64/2012/10/17/msg001848.html
>  http://mail-index.netbsd.org/port-sparc64/2013/10/28/msg002036.html
>  
>  -- Takeshi Nakayama


Could you test the following patch? I've not tested on sparc64 though:


Index: if_bge.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/if_bge.c,v
retrieving revision 1.272
diff -u -r1.272 if_bge.c
--- if_bge.c    2 Jul 2014 22:25:14 -0000       1.272
+++ if_bge.c    22 Jul 2014 12:11:46 -0000
@@ -2176,7 +2176,7 @@
                        aprint_error_dev(sc->bge_dev, "reset timed out\n");
                        return -1;
                }
-       } else if ((sc->bge_flags & BGEF_NO_EEPROM) == 0) {
+       } else {
                /*
                 * Poll the value location we just wrote until
                 * we see the 1's complement of the magic number.
@@ -2191,7 +2191,8 @@
                        DELAY(10);
                }

-               if (i >= BGE_TIMEOUT) {
+               if ((i >= BGE_TIMEOUT)
+                   && ((sc->bge_flags & BGEF_NO_EEPROM) == 0)) {
                        aprint_error_dev(sc->bge_dev,
                            "firmware handshake timed out, val = %x\n", val);
                        return -1;
@@ -4248,14 +4249,14 @@
                BGE_SETBIT(sc, BGE_TLP_CONTROL_REG, BGE_TLP_DATA_FIFO_PROTECT);
        }

-       /* 5718 reset step 13, 57XX step 17 */
-       /* Poll until the firmware initialization is complete */
-       bge_poll_fw(sc);
-
        /* 5718 reset step 12, 57XX step 15 and 16 */
        /* Fix up byte swapping */
        CSR_WRITE_4(sc, BGE_MODE_CTL, BGE_DMA_SWAP_OPTIONS);

+       /* 5718 reset step 13, 57XX step 17 */
+       /* Poll until the firmware initialization is complete */
+       bge_poll_fw(sc);
+
        /* 57XX step 21 */
        if (BGE_CHIPREV(sc->bge_chipid) == BGE_CHIPREV_5704_BX) {
                pcireg_t msidata;


-- 
-----------------------------------------------
                SAITOH Masanobu (msaitoh%execsw.org@localhost
                                 msaitoh%netbsd.org@localhost)


Home | Main Index | Thread Index | Old Index