From bugmaster at FreeBSD.org Mon Nov 3 03:06:50 2008 From: bugmaster at FreeBSD.org (FreeBSD bugmaster) Date: Mon Nov 3 03:07:24 2008 Subject: Current problem reports assigned to freebsd-arm@FreeBSD.org Message-ID: <200811031106.mA3B6n88010844@freefall.freebsd.org> Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- p arm/128095 arm Sizeof(pointer) bug . 1 problem total. From tinderbox at freebsd.org Tue Nov 4 08:03:43 2008 From: tinderbox at freebsd.org (FreeBSD Tinderbox) Date: Tue Nov 4 08:03:57 2008 Subject: [head tinderbox] failure on arm/arm Message-ID: <20081104160337.5650373039@freebsd-current.sentex.ca> TB --- 2008-11-04 15:40:01 - tinderbox 2.3 running on freebsd-current.sentex.ca TB --- 2008-11-04 15:40:01 - starting HEAD tinderbox run for arm/arm TB --- 2008-11-04 15:40:01 - cleaning the object tree TB --- 2008-11-04 15:40:32 - cvsupping the source tree TB --- 2008-11-04 15:40:32 - /usr/bin/csup -r 3 -g -L 1 -h localhost -s /tinderbox/HEAD/arm/arm/supfile TB --- 2008-11-04 15:40:40 - building world (CFLAGS=-O -pipe) TB --- 2008-11-04 15:40:40 - cd /src TB --- 2008-11-04 15:40:40 - /usr/bin/make -B buildworld >>> World build started on Tue Nov 4 15:40:42 UTC 2008 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries [...] rm -f .depend mkdep -f .depend -a -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ /src/lib/libutil/_secure_path.c /src/lib/libutil/auth.c /src/lib/libutil/gr_util.c /src/lib/libutil/expand_number.c /src/lib/libutil/flopen.c /src/lib/libutil/fparseln.c /src/lib/libutil/hexdump.c /src/lib/libutil/humanize_number.c /src/lib/libutil/kld.c /src/lib/libutil/login.c /src/lib/libutil/login_auth.c /src/lib/libutil/login_cap.c /src/lib/libutil/login_class.c /src/lib/libutil/login_crypt.c /src/lib/libutil/login_ok.c /src/lib/libutil/login_times.c /src/lib/libutil/login_tty.c /src/lib/libutil/logout.c /src/lib/libutil/logwtmp.c /src/lib/libutil/pidfile.c /src/lib/libutil/property.c /src/lib/libutil/pty.c /src/lib/libutil/pw_util.c /src/lib/libutil/realhostname.c /src/lib/libutil/stub.c /src/lib/libutil/trimdomain.c /src/lib/libutil/uucplock.c cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wno-pointer-sign -c /src/lib/libutil/_secure_path.c cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wno-pointer-sign -c /src/lib/libutil/auth.c cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wno-pointer-sign -c /src/lib/libutil/gr_util.c cc1: warnings being treated as errors /src/lib/libutil/gr_util.c: In function 'gr_dup': /src/lib/libutil/gr_util.c:154: warning: cast increases required alignment of target type *** Error code 1 Stop in /src/lib/libutil. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2008-11-04 16:03:37 - WARNING: /usr/bin/make returned exit code 1 TB --- 2008-11-04 16:03:37 - ERROR: failed to build world TB --- 2008-11-04 16:03:37 - tinderbox aborted TB --- 974.42 user 136.70 system 1416.09 real http://tinderbox.des.no/tinderbox-head-HEAD-arm-arm.full From tinderbox at freebsd.org Tue Nov 4 13:03:23 2008 From: tinderbox at freebsd.org (FreeBSD Tinderbox) Date: Tue Nov 4 13:03:30 2008 Subject: [head tinderbox] failure on arm/arm Message-ID: <20081104210320.9B06573039@freebsd-current.sentex.ca> TB --- 2008-11-04 20:40:00 - tinderbox 2.3 running on freebsd-current.sentex.ca TB --- 2008-11-04 20:40:00 - starting HEAD tinderbox run for arm/arm TB --- 2008-11-04 20:40:00 - cleaning the object tree TB --- 2008-11-04 20:40:20 - cvsupping the source tree TB --- 2008-11-04 20:40:20 - /usr/bin/csup -r 3 -g -L 1 -h localhost -s /tinderbox/HEAD/arm/arm/supfile TB --- 2008-11-04 20:40:29 - building world (CFLAGS=-O -pipe) TB --- 2008-11-04 20:40:29 - cd /src TB --- 2008-11-04 20:40:29 - /usr/bin/make -B buildworld >>> World build started on Tue Nov 4 20:40:30 UTC 2008 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries [...] rm -f .depend mkdep -f .depend -a -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ /src/lib/libutil/_secure_path.c /src/lib/libutil/auth.c /src/lib/libutil/gr_util.c /src/lib/libutil/expand_number.c /src/lib/libutil/flopen.c /src/lib/libutil/fparseln.c /src/lib/libutil/hexdump.c /src/lib/libutil/humanize_number.c /src/lib/libutil/kld.c /src/lib/libutil/login.c /src/lib/libutil/login_auth.c /src/lib/libutil/login_cap.c /src/lib/libutil/login_class.c /src/lib/libutil/login_crypt.c /src/lib/libutil/login_ok.c /src/lib/libutil/login_times.c /src/lib/libutil/login_tty.c /src/lib/libutil/logout.c /src/lib/libutil/logwtmp.c /src/lib/libutil/pidfile.c /src/lib/libutil/property.c /src/lib/libutil/pty.c /src/lib/libutil/pw_util.c /src/lib/libutil/realhostname.c /src/lib/libutil/stub.c /src/lib/libutil/trimdomain.c /src/lib/libutil/uucplock.c cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wno-pointer-sign -c /src/lib/libutil/_secure_path.c cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wno-pointer-sign -c /src/lib/libutil/auth.c cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wno-pointer-sign -c /src/lib/libutil/gr_util.c cc1: warnings being treated as errors /src/lib/libutil/gr_util.c: In function 'gr_dup': /src/lib/libutil/gr_util.c:154: warning: cast increases required alignment of target type *** Error code 1 Stop in /src/lib/libutil. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2008-11-04 21:03:20 - WARNING: /usr/bin/make returned exit code 1 TB --- 2008-11-04 21:03:20 - ERROR: failed to build world TB --- 2008-11-04 21:03:20 - tinderbox aborted TB --- 973.32 user 137.12 system 1400.28 real http://tinderbox.des.no/tinderbox-head-HEAD-arm-arm.full From tinderbox at freebsd.org Tue Nov 4 18:03:21 2008 From: tinderbox at freebsd.org (FreeBSD Tinderbox) Date: Tue Nov 4 18:03:33 2008 Subject: [head tinderbox] failure on arm/arm Message-ID: <20081105020319.3EAEE73039@freebsd-current.sentex.ca> TB --- 2008-11-05 01:40:00 - tinderbox 2.3 running on freebsd-current.sentex.ca TB --- 2008-11-05 01:40:00 - starting HEAD tinderbox run for arm/arm TB --- 2008-11-05 01:40:00 - cleaning the object tree TB --- 2008-11-05 01:40:18 - cvsupping the source tree TB --- 2008-11-05 01:40:18 - /usr/bin/csup -r 3 -g -L 1 -h localhost -s /tinderbox/HEAD/arm/arm/supfile TB --- 2008-11-05 01:40:26 - building world (CFLAGS=-O -pipe) TB --- 2008-11-05 01:40:26 - cd /src TB --- 2008-11-05 01:40:26 - /usr/bin/make -B buildworld >>> World build started on Wed Nov 5 01:40:27 UTC 2008 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries [...] rm -f .depend mkdep -f .depend -a -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ /src/lib/libutil/_secure_path.c /src/lib/libutil/auth.c /src/lib/libutil/gr_util.c /src/lib/libutil/expand_number.c /src/lib/libutil/flopen.c /src/lib/libutil/fparseln.c /src/lib/libutil/hexdump.c /src/lib/libutil/humanize_number.c /src/lib/libutil/kld.c /src/lib/libutil/login.c /src/lib/libutil/login_auth.c /src/lib/libutil/login_cap.c /src/lib/libutil/login_class.c /src/lib/libutil/login_crypt.c /src/lib/libutil/login_ok.c /src/lib/libutil/login_times.c /src/lib/libutil/login_tty.c /src/lib/libutil/logout.c /src/lib/libutil/logwtmp.c /src/lib/libutil/pidfile.c /src/lib/libutil/property.c /src/lib/libutil/pty.c /src/lib/libutil/pw_util.c /src/lib/libutil/realhostname.c /src/lib/libutil/stub.c /src/lib/libutil/trimdomain.c /src/lib/libutil/uucplock.c cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wno-pointer-sign -c /src/lib/libutil/_secure_path.c cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wno-pointer-sign -c /src/lib/libutil/auth.c cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wno-pointer-sign -c /src/lib/libutil/gr_util.c cc1: warnings being treated as errors /src/lib/libutil/gr_util.c: In function 'gr_dup': /src/lib/libutil/gr_util.c:154: warning: cast increases required alignment of target type *** Error code 1 Stop in /src/lib/libutil. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2008-11-05 02:03:19 - WARNING: /usr/bin/make returned exit code 1 TB --- 2008-11-05 02:03:19 - ERROR: failed to build world TB --- 2008-11-05 02:03:19 - tinderbox aborted TB --- 975.84 user 135.00 system 1398.46 real http://tinderbox.des.no/tinderbox-head-HEAD-arm-arm.full From tinderbox at freebsd.org Tue Nov 4 23:03:32 2008 From: tinderbox at freebsd.org (FreeBSD Tinderbox) Date: Tue Nov 4 23:03:50 2008 Subject: [head tinderbox] failure on arm/arm Message-ID: <20081105070330.0690973039@freebsd-current.sentex.ca> TB --- 2008-11-05 06:40:00 - tinderbox 2.3 running on freebsd-current.sentex.ca TB --- 2008-11-05 06:40:00 - starting HEAD tinderbox run for arm/arm TB --- 2008-11-05 06:40:00 - cleaning the object tree TB --- 2008-11-05 06:40:20 - cvsupping the source tree TB --- 2008-11-05 06:40:20 - /usr/bin/csup -r 3 -g -L 1 -h localhost -s /tinderbox/HEAD/arm/arm/supfile TB --- 2008-11-05 06:40:28 - building world (CFLAGS=-O -pipe) TB --- 2008-11-05 06:40:28 - cd /src TB --- 2008-11-05 06:40:28 - /usr/bin/make -B buildworld >>> World build started on Wed Nov 5 06:40:30 UTC 2008 >>> Rebuilding the temporary build tree >>> stage 1.1: legacy release compatibility shims >>> stage 1.2: bootstrap tools >>> stage 2.1: cleaning up the object tree >>> stage 2.2: rebuilding the object tree >>> stage 2.3: build tools >>> stage 3: cross tools >>> stage 4.1: building includes >>> stage 4.2: building libraries [...] rm -f .depend mkdep -f .depend -a -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ /src/lib/libutil/_secure_path.c /src/lib/libutil/auth.c /src/lib/libutil/gr_util.c /src/lib/libutil/expand_number.c /src/lib/libutil/flopen.c /src/lib/libutil/fparseln.c /src/lib/libutil/hexdump.c /src/lib/libutil/humanize_number.c /src/lib/libutil/kld.c /src/lib/libutil/login.c /src/lib/libutil/login_auth.c /src/lib/libutil/login_cap.c /src/lib/libutil/login_class.c /src/lib/libutil/login_crypt.c /src/lib/libutil/login_ok.c /src/lib/libutil/login_times.c /src/lib/libutil/login_tty.c /src/lib/libutil/logout.c /src/lib/libutil/logwtmp.c /src/lib/libutil/pidfile.c /src/lib/libutil/property.c /src/lib/libutil/pty.c /src/lib/libutil/pw_util.c /src/lib/libutil/realhostname.c /src/lib/libutil/stub.c /src/lib/libutil/trimdomain.c /src/lib/libutil/uucplock.c cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wno-pointer-sign -c /src/lib/libutil/_secure_path.c cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wno-pointer-sign -c /src/lib/libutil/auth.c cc -O -pipe -DLIBC_SCCS -DINET6 -I/src/lib/libutil -I/src/lib/libutil/../libc/gen/ -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wno-pointer-sign -c /src/lib/libutil/gr_util.c cc1: warnings being treated as errors /src/lib/libutil/gr_util.c: In function 'gr_dup': /src/lib/libutil/gr_util.c:154: warning: cast increases required alignment of target type *** Error code 1 Stop in /src/lib/libutil. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. *** Error code 1 Stop in /src. TB --- 2008-11-05 07:03:29 - WARNING: /usr/bin/make returned exit code 1 TB --- 2008-11-05 07:03:29 - ERROR: failed to build world TB --- 2008-11-05 07:03:29 - tinderbox aborted TB --- 975.59 user 135.36 system 1409.02 real http://tinderbox.des.no/tinderbox-head-HEAD-arm-arm.full From lars.engels at 0x20.net Thu Nov 6 06:31:01 2008 From: lars.engels at 0x20.net (Lars Engels) Date: Thu Nov 6 06:31:08 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <48DEA8E7.2080503@FreeBSD.org> References: <48DEA8E7.2080503@FreeBSD.org> Message-ID: <20081106153059.1sf731434swc84so@0x20.net> Quoting Alexander Motin : > Hi. > > I would like to present initial revision of my generic PCI SD Host > Controller driver (sdhci). It support PCI devices with class 8 and > subclass 5 according to SD Host Controller Specification. With some > limitations it successfully works on my Acer TM6292 notebook with ENE > CB714 card reader. > > Things that are working now: > - PIO mode single and multiple block read and write, > - 1 and 4 bits bus width support. > > In PIO mode with 4GB SD card on 30MHz 4bit bus I have reached about > 3.5MB/s (limited by CPU) linear read and 7MB/s (limited by card) linear > write. Small blocks read/write performance limited by card. > > Things that are not working yet: > - DMA modes (code is written, but as my controller looks like has > broken DMA I have no ability to debug it), > - card insert/remove detection (need more thinking), you should reload > mmc module to rescan cards, > - SDHC and MMC cards (have no such cards now to debug that code), only > standard capacity SD Memory cards up to 4GB size are supported now, > - high speed (double rate) bus mode (need more thinking and DMA support). > > Also to get such results I have improved existing mmc and mmcsd drivers > a bit. mmc driver got: > - 4 bit bus width support, > - write protection switch support, > - cards with more then 2GB capacity support. > mmcsd driver got: > - multiple block read and write support, > - cards with more then 2GB capacity support, > - I/O error reporting, > - write protection switch support. > > Latest patches against 8-CURRENT (should also fit 7-STABLE) may be found at: > http://people.freebsd.org/~mav/sdhci/ > > I will be grateful for any feedbacks, comments and support. Hi Alexander, I just tried your latest version of mmc + sdhci but it does not detect any SD Card inserted: sdhci0: mem 0xe4003000-0xe40030ff irq 19 at device 6.3 on pci2 sdhci0: slot 0 uses DMA sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000400 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000000 sdhci0-slot0: Present: 0x01f20000 | Host ctl: 0x00000000 sdhci0-slot0: Power: 0x00000000 | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000000 sdhci0-slot0: Timeout: 0x00000000 | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x018021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0: 1 slot(s) allocated sdhci0: [ITHREAD] sdhci0: detached sdhci0: mem 0xe4003000-0xe40030ff irq 19 at device 6.3 on pci2 sdhci0: 1 slot(s) allocated sdhci0: [ITHREAD] Nothing happens when I insert a card. The hardware is: sdhci0@pci0:2:6:3: class=0x080500 card=0x30c3103c chip=0x08221180 rev=0x20 hdr=0x00 vendor = 'Ricoh Company, Ltd.' device = 'R5C832, R5C843 SDA Standard Compliant SD Host Controller' class = base peripheral none2@pci0:2:6:4: class=0x088000 card=0x30c3103c chip=0x08431180 rev=0x10 hdr=0x00 vendor = 'Ricoh Company, Ltd.' device = 'unknown Ricoh MMC Host Controller' class = base peripheral none3@pci0:2:6:5: class=0x088000 card=0x30c3103c chip=0x05921180 rev=0x10 hdr=0x00 vendor = 'Ricoh Company, Ltd.' device = '13871043 Ricoh Memory Stick Host Controller' class = base peripheral none4@pci0:2:6:6: class=0x088000 card=0x30c3103c chip=0x08521180 rev=0x10 hdr=0x00 vendor = 'Ricoh Company, Ltd.' device = 'unknown Ricoh xD-Picture Card Host Controller' class = base peripheral Lars -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: Digitale PGP-Unterschrift Url : http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20081106/e5271a5d/attachment.pgp From mav at FreeBSD.org Thu Nov 6 07:11:23 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Thu Nov 6 07:11:30 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <20081106153059.1sf731434swc84so@0x20.net> References: <48DEA8E7.2080503@FreeBSD.org> <20081106153059.1sf731434swc84so@0x20.net> Message-ID: <49130918.5030904@FreeBSD.org> Lars Engels wrote: > I just tried your latest version of mmc + sdhci but it does not detect > any SD Card inserted: > > sdhci0: mem 0xe4003000-0xe40030ff irq 19 at device 6.3 > on pci2 > > Nothing happens when I insert a card. > > The hardware is: > sdhci0@pci0:2:6:3: class=0x080500 card=0x30c3103c chip=0x08221180 > rev=0x20 hdr=0x00 > vendor = 'Ricoh Company, Ltd.' > device = 'R5C832, R5C843 SDA Standard Compliant SD Host Controller' > class = base peripheral > none2@pci0:2:6:4: class=0x088000 card=0x30c3103c chip=0x08431180 > rev=0x10 hdr=0x00 > vendor = 'Ricoh Company, Ltd.' > device = 'unknown Ricoh MMC Host Controller' > class = base peripheral > none3@pci0:2:6:5: class=0x088000 card=0x30c3103c chip=0x05921180 > rev=0x10 hdr=0x00 > vendor = 'Ricoh Company, Ltd.' > device = '13871043 Ricoh Memory Stick Host Controller' > class = base peripheral > none4@pci0:2:6:6: class=0x088000 card=0x30c3103c chip=0x08521180 > rev=0x10 hdr=0x00 > vendor = 'Ricoh Company, Ltd.' > device = 'unknown Ricoh xD-Picture Card Host Controller' > class = base peripheral Looks like there is two MMC/SD controllers (first two devices) in your chip while only one is detected as SD host controller. This thread looks related to your problem: http://list.drzeus.cx/pipermail/sdhci-devel/2007-September/002023.html 1. You may try to tune PCI configuration registers referred in that post. 2. Or (just an idea) you may try to power down unsupported devices with setting hw.pci.do_power_nodriver=3 into the device.hints. 3. Or (it works fine for my ENE CB714 chip) you may try to add 0x08431180 chip ID into the list of supported SD controllers like it is done for 0x08221180. They may be compatible enough. If you try it, report please about results. -- Alexander Motin From lars.engels at 0x20.net Thu Nov 6 07:37:31 2008 From: lars.engels at 0x20.net (Lars Engels) Date: Thu Nov 6 07:37:38 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <49130918.5030904@FreeBSD.org> References: <48DEA8E7.2080503@FreeBSD.org> <20081106153059.1sf731434swc84so@0x20.net> <49130918.5030904@FreeBSD.org> Message-ID: <20081106163729.clcw2eulgk0k4w0c@0x20.net> Quoting Alexander Motin : > Lars Engels wrote: >> I just tried your latest version of mmc + sdhci but it does not detect >> any SD Card inserted: >> >> sdhci0: mem 0xe4003000-0xe40030ff irq 19 at device 6.3 >> on pci2 >> >> Nothing happens when I insert a card. >> >> The hardware is: >> sdhci0@pci0:2:6:3: class=0x080500 card=0x30c3103c chip=0x08221180 >> rev=0x20 hdr=0x00 >> vendor = 'Ricoh Company, Ltd.' >> device = 'R5C832, R5C843 SDA Standard Compliant SD Host Controller' >> class = base peripheral >> none2@pci0:2:6:4: class=0x088000 card=0x30c3103c chip=0x08431180 >> rev=0x10 hdr=0x00 >> vendor = 'Ricoh Company, Ltd.' >> device = 'unknown Ricoh MMC Host Controller' >> class = base peripheral >> none3@pci0:2:6:5: class=0x088000 card=0x30c3103c chip=0x05921180 >> rev=0x10 hdr=0x00 >> vendor = 'Ricoh Company, Ltd.' >> device = '13871043 Ricoh Memory Stick Host Controller' >> class = base peripheral >> none4@pci0:2:6:6: class=0x088000 card=0x30c3103c chip=0x08521180 >> rev=0x10 hdr=0x00 >> vendor = 'Ricoh Company, Ltd.' >> device = 'unknown Ricoh xD-Picture Card Host Controller' >> class = base peripheral > > Looks like there is two MMC/SD controllers (first two devices) in your > chip while only one is detected as SD host controller. This thread looks > related to your problem: > http://list.drzeus.cx/pipermail/sdhci-devel/2007-September/002023.html > > 1. You may try to tune PCI configuration registers referred in that post. > 2. Or (just an idea) you may try to power down unsupported devices with > setting hw.pci.do_power_nodriver=3 into the device.hints. > 3. Or (it works fine for my ENE CB714 chip) you may try to add > 0x08431180 chip ID into the list of supported SD controllers like it is > done for 0x08221180. They may be compatible enough. > > If you try it, report please about results. Alexander, thanks for the quick response! 1. How can I tune the PCI configuration? With pciconf -w or so? 2. Unfortunately the sysctl did not change a thing with regard to the Card reader. 3. I added the chip ID and the second device is now recognized as a sdhci device but still does not see any card inserted: Nov 6 16:32:20 NB0117232 kernel: sdhci0: mem 0xe4003000-0xe40030ff irq 19 at device 6.3 on pci2 Nov 6 16:32:20 NB0117232 kernel: sdhci0: 1 slot(s) allocated Nov 6 16:32:20 NB0117232 kernel: sdhci0: [ITHREAD] Nov 6 16:32:20 NB0117232 kernel: sdhci1: mem 0xe4004000-0xe40040ff irq 19 at device 6.4 on pci2 Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't specify base clock frequency. Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't specify timeout clock frequency. Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't report any support voltages. Nov 6 16:32:20 NB0117232 kernel: sdhci1: 1 slot(s) allocated Nov 6 16:32:20 NB0117232 kernel: sdhci1: [ITHREAD] Nov 6 16:32:31 NB0117232 kernel: mmc0: on sdhci1 sdhci1@pci0:2:6:4: class=0x088000 card=0x30c3103c chip=0x08431180 rev=0x10 hdr=0x00 vendor = 'Ricoh Company, Ltd.' device = 'unknown Ricoh MMC Host Controller' class = base peripheral -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: Digitale PGP-Unterschrift Url : http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20081106/c845b6a5/attachment.pgp From mav at FreeBSD.org Thu Nov 6 07:45:17 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Thu Nov 6 07:45:28 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <20081106163729.clcw2eulgk0k4w0c@0x20.net> References: <48DEA8E7.2080503@FreeBSD.org> <20081106153059.1sf731434swc84so@0x20.net> <49130918.5030904@FreeBSD.org> <20081106163729.clcw2eulgk0k4w0c@0x20.net> Message-ID: <49131109.2020601@FreeBSD.org> Lars Engels wrote: > 1. How can I tune the PCI configuration? With pciconf -w or so? Yes. `pciconf -r -b device addr` to read and `pciconf -w -b device addr value` to write. > 2. Unfortunately the sysctl did not change a thing with regard to the > Card reader. Have you added it to the loader.conf and rebooted? > 3. I added the chip ID and the second device is now recognized as a > sdhci device but still does not see any card inserted: > > Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't specify base > clock frequency. > Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't specify > timeout clock frequency. > Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't report any > support voltages. Looks like it is not enough compatible, or even not compatible. -- Alexander Motin From lars.engels at 0x20.net Thu Nov 6 08:25:17 2008 From: lars.engels at 0x20.net (Lars Engels) Date: Thu Nov 6 08:25:34 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <49131109.2020601@FreeBSD.org> References: <48DEA8E7.2080503@FreeBSD.org> <20081106153059.1sf731434swc84so@0x20.net> <49130918.5030904@FreeBSD.org> <20081106163729.clcw2eulgk0k4w0c@0x20.net> <49131109.2020601@FreeBSD.org> Message-ID: <20081106172514.jbrq7aa8g0cowk4k@0x20.net> Quoting Alexander Motin : > Lars Engels wrote: >> 1. How can I tune the PCI configuration? With pciconf -w or so? > > Yes. `pciconf -r -b device addr` to read and `pciconf -w -b device addr > value` to write. Okay, so do you think I need to take the device of the first sdhci device or firewire's device like in the thread you mentioned? I should then set the value to 0x20 I guess? Which address do I need to use? FYI here is the pciconf -lv output with firewire and sdhci: fwohci0@pci0:2:6:2: class=0x0c0010 card=0x30c3103c chip=0x08321180 rev=0x03 hdr=0x00 vendor = 'Ricoh Company, Ltd.' device = 'unknown IEEE 1394 (4 pin firewire) chip)' class = serial bus subclass = FireWire sdhci0@pci0:2:6:3: class=0x080500 card=0x30c3103c chip=0x08221180 rev=0x20 hdr=0x00 vendor = 'Ricoh Company, Ltd.' device = 'R5C832, R5C843 SDA Standard Compliant SD Host Controller' class = base peripheral none2@pci0:2:6:4: class=0x088000 card=0x30c3103c chip=0x08431180 rev=0x10 hdr=0x00 vendor = 'Ricoh Company, Ltd.' device = 'unknown Ricoh MMC Host Controller' class = base peripheral >> 2. Unfortunately the sysctl did not change a thing with regard to the >> Card reader. > > Have you added it to the loader.conf and rebooted? Yes, but without result. >> 3. I added the chip ID and the second device is now recognized as a >> sdhci device but still does not see any card inserted: >> >> Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't specify base >> clock frequency. >> Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't specify >> timeout clock frequency. >> Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't report any >> support voltages. > > Looks like it is not enough compatible, or even not compatible. Too bad... -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: Digitale PGP-Unterschrift Url : http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20081106/485ce2f0/attachment.pgp From imp at bsdimp.com Thu Nov 6 09:12:11 2008 From: imp at bsdimp.com (M. Warner Losh) Date: Thu Nov 6 09:12:29 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <49131109.2020601@FreeBSD.org> References: <49130918.5030904@FreeBSD.org> <20081106163729.clcw2eulgk0k4w0c@0x20.net> <49131109.2020601@FreeBSD.org> Message-ID: <20081106.101047.163264510.imp@bsdimp.com> In message: <49131109.2020601@FreeBSD.org> Alexander Motin writes: : Lars Engels wrote: : > 1. How can I tune the PCI configuration? With pciconf -w or so? : : Yes. `pciconf -r -b device addr` to read and `pciconf -w -b device addr : value` to write. I have changes that almost make my TI card do it. : > 2. Unfortunately the sysctl did not change a thing with regard to the : > Card reader. : : Have you added it to the loader.conf and rebooted? : : > 3. I added the chip ID and the second device is now recognized as a : > sdhci device but still does not see any card inserted: : > : > Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't specify base : > clock frequency. : > Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't specify : > timeout clock frequency. : > Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't report any : > support voltages. : : Looks like it is not enough compatible, or even not compatible. Chances are good that you need to the workaround to turn on these things. Warner From lme at FreeBSD.org Thu Nov 6 09:28:52 2008 From: lme at FreeBSD.org (Lars Engels) Date: Thu Nov 6 09:28:58 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <20081106.101047.163264510.imp@bsdimp.com> References: <49130918.5030904@FreeBSD.org> <20081106163729.clcw2eulgk0k4w0c@0x20.net> <49131109.2020601@FreeBSD.org> <20081106.101047.163264510.imp@bsdimp.com> Message-ID: <20081106172850.GG8256@e.0x20.net> On Thu, Nov 06, 2008 at 10:10:47AM -0700, M. Warner Losh wrote: > In message: <49131109.2020601@FreeBSD.org> > Alexander Motin writes: > : Lars Engels wrote: > : > 1. How can I tune the PCI configuration? With pciconf -w or so? > : > : Yes. `pciconf -r -b device addr` to read and `pciconf -w -b device addr > : value` to write. > > I have changes that almost make my TI card do it. So you're still working on this? > : > 2. Unfortunately the sysctl did not change a thing with regard to the > : > Card reader. > : > : Have you added it to the loader.conf and rebooted? > : > : > 3. I added the chip ID and the second device is now recognized as a > : > sdhci device but still does not see any card inserted: > : > > : > Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't specify base > : > clock frequency. > : > Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't specify > : > timeout clock frequency. > : > Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't report any > : > support voltages. > : > : Looks like it is not enough compatible, or even not compatible. > > Chances are good that you need to the workaround to turn on these > things. Tell me where I can get the workaround when you have a working version or something to test. :) -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20081106/8442c71b/attachment.pgp From imp at bsdimp.com Thu Nov 6 09:41:40 2008 From: imp at bsdimp.com (M. Warner Losh) Date: Thu Nov 6 09:41:46 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <20081106172850.GG8256@e.0x20.net> References: <49131109.2020601@FreeBSD.org> <20081106.101047.163264510.imp@bsdimp.com> <20081106172850.GG8256@e.0x20.net> Message-ID: <20081106.103945.660268105.imp@bsdimp.com> In message: <20081106172850.GG8256@e.0x20.net> Lars Engels writes: : On Thu, Nov 06, 2008 at 10:10:47AM -0700, M. Warner Losh wrote: : > In message: <49131109.2020601@FreeBSD.org> : > Alexander Motin writes: : > : Lars Engels wrote: : > : > 1. How can I tune the PCI configuration? With pciconf -w or so? : > : : > : Yes. `pciconf -r -b device addr` to read and `pciconf -w -b device addr : > : value` to write. : > : > I have changes that almost make my TI card do it. : : So you're still working on this? TI changes are different than Richo changes : > : > 2. Unfortunately the sysctl did not change a thing with regard to the : > : > Card reader. : > : : > : Have you added it to the loader.conf and rebooted? : > : : > : > 3. I added the chip ID and the second device is now recognized as a : > : > sdhci device but still does not see any card inserted: : > : > : > : > Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't specify base : > : > clock frequency. : > : > Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't specify : > : > timeout clock frequency. : > : > Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't report any : > : > support voltages. : > : : > : Looks like it is not enough compatible, or even not compatible. : > : > Chances are good that you need to the workaround to turn on these : > things. : : Tell me where I can get the workaround when you have a working version : or something to test. :) I'll look at the linux workaround... Warner From lme at FreeBSD.org Thu Nov 6 10:05:59 2008 From: lme at FreeBSD.org (Lars Engels) Date: Thu Nov 6 10:06:06 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <48DEA8E7.2080503@FreeBSD.org> References: <48DEA8E7.2080503@FreeBSD.org> Message-ID: <20081106180556.GH8256@e.0x20.net> On Sun, Sep 28, 2008 at 12:43:03AM +0300, Alexander Motin wrote: > Latest patches against 8-CURRENT (should also fit 7-STABLE) may be found at: > http://people.freebsd.org/~mav/sdhci/ > > I will be grateful for any feedbacks, comments and support. > Me again... On another notebook with the same card reader I get a little further: sdhci0: mem 0xd8002800-0xd80028ff irq 22 at device 9.2 on pci5 sdhci0: 1 slot(s) allocated sdhci0: [ITHREAD] mmc0: on sdhci0 mmc0: detached sdhci0: detached sdhci0: mem 0xd8002800-0xd80028ff irq 22 at device 9.2 on pci5 sdhci0: 1 slot(s) allocated sdhci0: [ITHREAD] sdhci0: detached sdhci0: mem 0xd8002800-0xd80028ff irq 22 at device 9.2 on pci5 sdhci0: 1 slot(s) allocated sdhci0: [ITHREAD] mmc0: on sdhci0 mmc0: detached mmc0: on sdhci0 So the mmc device is detected everytime I insert a card and is removed when I take the card out. But I do not get a new disk device... pciconf tells me pretty much the same like on the other notebook: fwohci0@pci0:5:9:1: class=0x0c0010 card=0xc024144d chip=0x05521180 rev=0x09 hdr=0x00 vendor = 'Ricoh Company, Ltd.' device = 'RL5c552 IEEE-1394 Controller' class = serial bus subclass = FireWire sdhci0@pci0:5:9:2: class=0x080500 card=0xc024144d chip=0x08221180 rev=0x18 hdr=0x00 vendor = 'Ricoh Company, Ltd.' device = 'R5C832, R5C843 SDA Standard Compliant SD Host Controller' class = base peripheral none7@pci0:5:9:3: class=0x088000 card=0xc024144d chip=0x08431180 rev=0x00 hdr=0x00 vendor = 'Ricoh Company, Ltd.' device = 'unknown Ricoh MMC Host Controller' class = base peripheral none8@pci0:5:9:4: class=0x088000 card=0xc024144d chip=0x05921180 rev=0x09 hdr=0x00 vendor = 'Ricoh Company, Ltd.' device = '13871043 Ricoh Memory Stick Host Controller' class = base peripheral none9@pci0:5:9:5: class=0x088000 card=0xc024144d chip=0x08521180 rev=0x04 hdr=0x00 vendor = 'Ricoh Company, Ltd.' device = 'unknown Ricoh xD-Picture Card Host Controller' class = base peripheral -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20081106/da8500bc/attachment.pgp From mav at FreeBSD.org Thu Nov 6 10:16:03 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Thu Nov 6 10:16:09 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <20081106180556.GH8256@e.0x20.net> References: <48DEA8E7.2080503@FreeBSD.org> <20081106180556.GH8256@e.0x20.net> Message-ID: <4913345F.2050801@FreeBSD.org> Lars Engels wrote: > On another notebook with the same card reader I get a little further: > > sdhci0: mem 0xd8002800-0xd80028ff irq 22 at device 9.2 > on pci5 > sdhci0: 1 slot(s) allocated > sdhci0: [ITHREAD] > mmc0: on sdhci0 > mmc0: detached > mmc0: on sdhci0 > > So the mmc device is detected everytime I insert a card and is removed > when I take the card out. It means that controller successfully reports card insertion. You must be a half way there. > But I do not get a new disk device... A bit more debugging can be produced with enabling verbose boot messages. > pciconf tells me pretty much the same like on the other notebook: Looks like it may depend or on controller version or on the way it is hardwired or somehow BIOS initialized. There are were some success stories reported with this controller. -- Alexander Motin From imp at bsdimp.com Thu Nov 6 10:23:35 2008 From: imp at bsdimp.com (M. Warner Losh) Date: Thu Nov 6 10:23:46 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <4913345F.2050801@FreeBSD.org> References: <48DEA8E7.2080503@FreeBSD.org> <20081106180556.GH8256@e.0x20.net> <4913345F.2050801@FreeBSD.org> Message-ID: <20081106.112338.1564836080.imp@bsdimp.com> In message: <4913345F.2050801@FreeBSD.org> Alexander Motin writes: : Lars Engels wrote: : > On another notebook with the same card reader I get a little further: : > : > sdhci0: mem 0xd8002800-0xd80028ff irq 22 at device 9.2 : > on pci5 : > sdhci0: 1 slot(s) allocated : > sdhci0: [ITHREAD] : > mmc0: on sdhci0 : > mmc0: detached : > mmc0: on sdhci0 : > : > So the mmc device is detected everytime I insert a card and is removed : > when I take the card out. : : It means that controller successfully reports card insertion. You must : be a half way there. : : > But I do not get a new disk device... : : A bit more debugging can be produced with enabling verbose boot messages. : : > pciconf tells me pretty much the same like on the other notebook: : : Looks like it may depend or on controller version or on the way it is : hardwired or somehow BIOS initialized. There are were some success : stories reported with this controller. Add mmcsd to the kernel? Load it as a module? Warner From lme at FreeBSD.org Thu Nov 6 10:40:19 2008 From: lme at FreeBSD.org (Lars Engels) Date: Thu Nov 6 10:40:26 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <20081106.112338.1564836080.imp@bsdimp.com> References: <48DEA8E7.2080503@FreeBSD.org> <20081106180556.GH8256@e.0x20.net> <4913345F.2050801@FreeBSD.org> <20081106.112338.1564836080.imp@bsdimp.com> Message-ID: <20081106184017.GB161@e.0x20.net> On Thu, Nov 06, 2008 at 11:23:38AM -0700, M. Warner Losh wrote: > In message: <4913345F.2050801@FreeBSD.org> > Alexander Motin writes: > : Lars Engels wrote: > : > On another notebook with the same card reader I get a little further: > : > > : > sdhci0: mem 0xd8002800-0xd80028ff irq 22 at device 9.2 > : > on pci5 > : > sdhci0: 1 slot(s) allocated > : > sdhci0: [ITHREAD] > : > mmc0: on sdhci0 > : > mmc0: detached > : > mmc0: on sdhci0 > : > > : > So the mmc device is detected everytime I insert a card and is removed > : > when I take the card out. > : > : It means that controller successfully reports card insertion. You must > : be a half way there. > : > : > But I do not get a new disk device... > : > : A bit more debugging can be produced with enabling verbose boot messages. > : > : > pciconf tells me pretty much the same like on the other notebook: > : > : Looks like it may depend or on controller version or on the way it is > : hardwired or somehow BIOS initialized. There are were some success > : stories reported with this controller. > > Add mmcsd to the kernel? Load it as a module? Much better! Loading mmcsd first, then mmc and sdhci gives me the mmcsd0 device: sdhci0: mem 0xd8002800-0xd80028ff irq 22 at device 9.2 on pci5 sdhci0: 1 slot(s) allocated sdhci0: [ITHREAD] mmc0: on sdhci0 mmcsd0: 1924MB at mmc0 16MHz/4bit sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x783ffe00 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00010000 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00002000 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00040000 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00008000 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000400 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00002000 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00010000 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000200 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x0001fa00 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x783ffe00 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x0002fa00 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00021a00 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x0001fa00 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x0005fa00 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00027a00 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x0001fa00 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x0001fe00 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00021a00 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x0002fa00 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x0001fa00 | Trn mode: 0x00000013 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== But I still cannot use it: lars@pts/3 # ls -l /dev/mmcsd0* crw-r----- 1 root operator 0, 120 Nov 6 19:36 /dev/mmcsd0 crw-r----- 1 root operator 0, 121 Nov 6 19:36 /dev/mmcsd0s1 lars@pts/3 # fdisk /dev/mmcsd0 fdisk: could not detect sector size lars@pts/3 # mount -t msdosfs /dev/mmcsd0s1 /mnt mount_msdosfs: /dev/mmcsd0s1: : Input/output error What am I missing? -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20081106/c80c07fd/attachment.pgp From lme at FreeBSD.org Thu Nov 6 11:04:30 2008 From: lme at FreeBSD.org (Lars Engels) Date: Thu Nov 6 11:04:47 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <20081106184017.GB161@e.0x20.net> References: <48DEA8E7.2080503@FreeBSD.org> <20081106180556.GH8256@e.0x20.net> <4913345F.2050801@FreeBSD.org> <20081106.112338.1564836080.imp@bsdimp.com> <20081106184017.GB161@e.0x20.net> Message-ID: <20081106190428.GC161@e.0x20.net> On Thu, Nov 06, 2008 at 07:40:17PM +0100, Lars Engels wrote: > On Thu, Nov 06, 2008 at 11:23:38AM -0700, M. Warner Losh wrote: > > In message: <4913345F.2050801@FreeBSD.org> > > Alexander Motin writes: > > : Lars Engels wrote: > > : > On another notebook with the same card reader I get a little further: > > : > > > : > sdhci0: mem 0xd8002800-0xd80028ff irq 22 at device 9.2 > > : > on pci5 > > : > sdhci0: 1 slot(s) allocated > > : > sdhci0: [ITHREAD] > > : > mmc0: on sdhci0 > > : > mmc0: detached > > : > mmc0: on sdhci0 > > : > > > : > So the mmc device is detected everytime I insert a card and is removed > > : > when I take the card out. > > : > > : It means that controller successfully reports card insertion. You must > > : be a half way there. > > : > > : > But I do not get a new disk device... > > : > > : A bit more debugging can be produced with enabling verbose boot messages. > > : > > : > pciconf tells me pretty much the same like on the other notebook: > > : > > : Looks like it may depend or on controller version or on the way it is > > : hardwired or somehow BIOS initialized. There are were some success > > : stories reported with this controller. > > > > Add mmcsd to the kernel? Load it as a module? > > Much better! Loading mmcsd first, then mmc and sdhci gives me the mmcsd0 > device: > sdhci0: mem 0xd8002800-0xd80028ff irq 22 at device 9.2 > on pci5 > sdhci0: 1 slot(s) allocated > sdhci0: [ITHREAD] > mmc0: on sdhci0 > mmcsd0: 1924MB at mmc0 16MHz/4bit > sdhci0-slot0: Got data interrupt 0x00000002, but there is no active > command. > sdhci0-slot0: ============== REGISTER DUMP ============== > sdhci0-slot0: Sys addr: 0x30c68000 | Version: 0x00000200 > sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 > sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000013 > sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 > sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 > sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 > sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 > sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb > sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 > sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 > sdhci0-slot0: =========================================== [...] > But I still cannot use it: > lars@pts/3 # ls -l /dev/mmcsd0* > crw-r----- 1 root operator 0, 120 Nov 6 19:36 /dev/mmcsd0 > crw-r----- 1 root operator 0, 121 Nov 6 19:36 /dev/mmcsd0s1 > > lars@pts/3 # fdisk /dev/mmcsd0 > fdisk: could not detect sector size > > > lars@pts/3 # mount -t msdosfs /dev/mmcsd0s1 /mnt > mount_msdosfs: /dev/mmcsd0s1: : Input/output error > > > What am I missing? That seems to be the SD card I used... Now I tried a SDHCI card and fdisk printed the partition table. mmcsd0: 7580MB at mmc0 16MHz/4bit However, when I tried to mount it, I get this error: g_vfs_done():mmcsd0s1[WRITE(offset=2254848, length=4096)]error = 5 g_vfs_done():mmcsd0s1[WRITE(offset=2254848, length=4096)]error = 5 g_vfs_done():mmcsd0s1[WRITE(offset=2254848, length=4096)]error = 5 fsync: giving up on dirty 0xc5452d9c: tag devfs, type VCHR usecount 1, writecount 0, refcount 240 mountedhere 0xc474f700 flags () v_object 0xc48368b8 ref 0 pages 240 lock type devfs: UNLOCKED dev mmcsd0s1 And a (reproducable) kernel panic shortly after that: Fatal trap 12: page fault while in kernel mode cpuid = 0; apic id = 00 fault virtual address = 0x0 fault code = supervisor read, page not present instruction pointer = 0x20:0xc057e6a9 stack pointer = 0x28:0xc3fd5b84 frame pointer = 0x28:0xc3fd5bb0 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 19 (syncer) Physical memory: 1002 MB Dumping 163 MB: 148 132 116 100 84 68 52 36 20 4 Reading symbols from /boot/kernel/linux.ko...Reading symbols from /boot/kernel/linux.ko.symbols...done. [...] Loaded symbols for /boot/kernel/mmcsd.ko Reading symbols from /boot/kernel/mmc.ko...done. Loaded symbols for /boot/kernel/mmc.ko Reading symbols from /boot/kernel/sdhci.ko...done. Loaded symbols for /boot/kernel/sdhci.ko #0 doadump () at pcpu.h:246 246 pcpu.h: No such file or directory. in pcpu.h (kgdb) bt #0 doadump () at pcpu.h:246 #1 0xc0477b99 in db_fncall (dummy1=-1006806728, dummy2=0, dummy3=-1063504288, dummy4=0xc3fd5918 "k?N?") at /usr/src/sys/ddb/db_command.c:548 #2 0xc0477f91 in db_command (last_cmdp=0xc097143c, cmd_table=0x0, dopager=1) at /usr/src/sys/ddb/db_command.c:445 #3 0xc04780ea in db_command_loop () at /usr/src/sys/ddb/db_command.c:498 #4 0xc0479f2d in db_trap (type=12, code=0) at /usr/src/sys/ddb/db_main.c:229 #5 0xc0602076 in kdb_trap (type=12, code=0, tf=0xc3fd5b44) at /usr/src/sys/kern/subr_kdb.c:534 #6 0xc0880f6f in trap_fatal (frame=0xc3fd5b44, eva=0) at /usr/src/sys/i386/i386/trap.c:920 #7 0xc0881210 in trap_pfault (frame=0xc3fd5b44, usermode=0, eva=0) at /usr/src/sys/i386/i386/trap.c:842 #8 0xc0881bf2 in trap (frame=0xc3fd5b44) at /usr/src/sys/i386/i386/trap.c:522 #9 0xc0866cfb in calltrap () at /usr/src/sys/i386/i386/exception.s:165 #10 0xc057e6a9 in g_io_request (bp=0xc56c58c4, cp=0xc5562100) at /usr/src/sys/geom/geom_io.c:364 #11 0xc0583a06 in g_vfs_strategy (bo=0xc57dc0a8, bp=0xd82b9bc0) at /usr/src/sys/geom/geom_vfs.c:107 #12 0xc06456e1 in bufwrite (bp=0xd82b9bc0) at buf.h:397 #13 0xc063ea48 in bawrite (bp=0xd82b9bc0) at buf.h:385 #14 0xc064a23c in vop_stdfsync (ap=0xc3fd5c74) at /usr/src/sys/kern/vfs_default.c:482 #15 0xc056221e in devfs_fsync (ap=0xc3fd5c74) at /usr/src/sys/fs/devfs/devfs_vnops.c:485 #16 0xc088e312 in VOP_FSYNC_APV (vop=0xc0931520, a=0xc3fd5c74) at vnode_if.c:1007 #17 0xc065ccce in sync_vnode (slp=Variable "slp" is not available. ) at vnode_if.h:529 #18 0xc065d0c2 in sched_sync () at /usr/src/sys/kern/vfs_subr.c:1761 #19 0xc05b3b83 in fork_exit (callout=0xc065ce00 , arg=0x0, frame=0xc3fd5d38) at /usr/src/sys/kern/kern_fork.c:815 #20 0xc0866d70 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:270 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20081106/eeb6a9c0/attachment.pgp From lme at FreeBSD.org Thu Nov 6 11:23:57 2008 From: lme at FreeBSD.org (Lars Engels) Date: Thu Nov 6 11:24:05 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <49133F2B.4080801@FreeBSD.org> References: <48DEA8E7.2080503@FreeBSD.org> <20081106180556.GH8256@e.0x20.net> <4913345F.2050801@FreeBSD.org> <20081106.112338.1564836080.imp@bsdimp.com> <20081106184017.GB161@e.0x20.net> <49133F2B.4080801@FreeBSD.org> Message-ID: <20081106192353.GD161@e.0x20.net> On Thu, Nov 06, 2008 at 09:02:03PM +0200, Alexander Motin wrote: > Lars Engels wrote: > >Much better! Loading mmcsd first, then mmc and sdhci gives me the mmcsd0 > >device: > >sdhci0: mem 0xd8002800-0xd80028ff irq 22 at device 9.2 > >on pci5 > >sdhci0: 1 slot(s) allocated > >sdhci0: [ITHREAD] > >mmc0: on sdhci0 > >mmcsd0: 1924MB at mmc0 16MHz/4bit > >sdhci0-slot0: Got data interrupt 0x00000002, but there is no active > > This error should not happen normally. Or this controller has some problems with DMA mode (it's > PCI class reports that DMA is not supported, but as soon as we have some reports that it does > working it is forcefully used) or it is some problem with driver. To get some info about what is > happening actually, uncomment two fragments in driver. This: > > /* printf("%s cmd op %u arg %u flags %u data %ju\n", __func__, > req->cmd->opcode, req->cmd->arg, req->cmd->flags, > (req->cmd->data)?req->cmd->data->len:0); */ > > and this: > > /* > slot_printf(slot, "got interrupt %x\n", intmask); > */ > > Enable verbose messages, and send me what you will get. Okay, I start with loading the three modules: Nov 6 20:19:42 maggie kernel: pci0: driver added Nov 6 20:19:42 maggie kernel: found-> vendor=0x8086, dev=0x27c8, revid=0x02 Nov 6 20:19:42 maggie kernel: domain=0, bus=0, slot=29, func=0 Nov 6 20:19:42 maggie kernel: class=0c-03-00, hdrtype=0x00, mfdev=1 Nov 6 20:19:42 maggie kernel: cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) Nov 6 20:19:42 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 20:19:42 maggie kernel: intpin=a, irq=23 Nov 6 20:19:42 maggie kernel: pci0:0:29:0: reprobing on driver added Nov 6 20:19:42 maggie kernel: found-> vendor=0x8086, dev=0x27c9, revid=0x02 Nov 6 20:19:42 maggie kernel: domain=0, bus=0, slot=29, func=1 Nov 6 20:19:42 maggie kernel: class=0c-03-00, hdrtype=0x00, mfdev=0 Nov 6 20:19:42 maggie kernel: cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) Nov 6 20:19:42 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 20:19:42 maggie kernel: intpin=b, irq=19 Nov 6 20:19:42 maggie kernel: pci0:0:29:1: reprobing on driver added Nov 6 20:19:42 maggie kernel: found-> vendor=0x8086, dev=0x27ca, revid=0x02 Nov 6 20:19:42 maggie kernel: domain=0, bus=0, slot=29, func=2 Nov 6 20:19:42 maggie kernel: class=0c-03-00, hdrtype=0x00, mfdev=0 Nov 6 20:19:42 maggie kernel: cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) Nov 6 20:19:42 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 20:19:42 maggie kernel: intpin=c, irq=18 Nov 6 20:19:42 maggie kernel: pci0:0:29:2: reprobing on driver added Nov 6 20:19:42 maggie kernel: found-> vendor=0x8086, dev=0x27cb, revid=0x02 Nov 6 20:19:42 maggie kernel: domain=0, bus=0, slot=29, func=3 Nov 6 20:19:42 maggie kernel: class=0c-03-00, hdrtype=0x00, mfdev=0 Nov 6 20:19:42 maggie kernel: cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) Nov 6 20:19:42 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 20:19:42 maggie kernel: intpin=d, irq=16 Nov 6 20:19:42 maggie kernel: pci0:0:29:3: reprobing on driver added Nov 6 20:19:42 maggie kernel: found-> vendor=0x8086, dev=0x27cc, revid=0x02 Nov 6 20:19:42 maggie kernel: domain=0, bus=0, slot=29, func=7 Nov 6 20:19:42 maggie kernel: class=0c-03-20, hdrtype=0x00, mfdev=0 Nov 6 20:19:42 maggie kernel: cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords) Nov 6 20:19:42 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 20:19:42 maggie kernel: intpin=a, irq=23 Nov 6 20:19:42 maggie kernel: powerspec 2 supports D0 D3 current D0 Nov 6 20:19:42 maggie kernel: pci0:0:29:7: reprobing on driver added Nov 6 20:19:42 maggie kernel: found-> vendor=0x8086, dev=0x27da, revid=0x02 Nov 6 20:19:42 maggie kernel: domain=0, bus=0, slot=31, func=3 Nov 6 20:19:42 maggie kernel: class=0c-05-00, hdrtype=0x00, mfdev=0 Nov 6 20:19:42 maggie kernel: cmdreg=0x0001, statreg=0x0280, cachelnsz=0 (dwords) Nov 6 20:19:42 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 20:19:42 maggie kernel: intpin=b, irq=19 Nov 6 20:19:42 maggie kernel: pci0:0:31:3: reprobing on driver added Nov 6 20:19:42 maggie kernel: pci2: driver added Nov 6 20:19:42 maggie kernel: found-> vendor=0x8086, dev=0x4222, revid=0x02 Nov 6 20:19:42 maggie kernel: domain=0, bus=2, slot=0, func=0 Nov 6 20:19:42 maggie kernel: class=02-80-00, hdrtype=0x00, mfdev=0 Nov 6 20:19:42 maggie kernel: cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords) Nov 6 20:19:42 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 20:19:42 maggie kernel: intpin=a, irq=16 Nov 6 20:19:42 maggie kernel: powerspec 2 supports D0 D3 current D0 Nov 6 20:19:42 maggie kernel: MSI supports 1 message, 64 bit Nov 6 20:19:42 maggie kernel: pci0:2:0:0: reprobing on driver added Nov 6 20:19:42 maggie kernel: pci3: driver added Nov 6 20:19:42 maggie kernel: pci5: driver added Nov 6 20:19:42 maggie kernel: found-> vendor=0x1180, dev=0x0822, revid=0x18 Nov 6 20:19:42 maggie kernel: domain=0, bus=5, slot=9, func=2 Nov 6 20:19:42 maggie kernel: class=08-05-00, hdrtype=0x00, mfdev=1 Nov 6 20:19:42 maggie kernel: cmdreg=0x0000, statreg=0x0210, cachelnsz=0 (dwords) Nov 6 20:19:42 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 20:19:42 maggie kernel: intpin=c, irq=22 Nov 6 20:19:42 maggie kernel: powerspec 2 supports D0 D1 D2 D3 current D0 Nov 6 20:19:42 maggie kernel: pci0:5:9:2: reprobing on driver added Nov 6 20:19:42 maggie kernel: sdhci0: mem 0xd8002800-0xd80028ff irq 22 at device 9.2 on pci5 Nov 6 20:19:42 maggie kernel: pcib3: sdhci0 requested memory range 0xd8002800-0xd80028ff: good Nov 6 20:19:42 maggie kernel: sdhci0-slot0: 33MHz 4bits 3.3V DMA Nov 6 20:19:42 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:19:42 maggie kernel: sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 Nov 6 20:19:42 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:19:42 maggie kernel: sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000000 Nov 6 20:19:42 maggie kernel: sdhci0-slot0: Present: 0x01f20000 | Host ctl: 0x00000000 Nov 6 20:19:42 maggie kernel: sdhci0-slot0: Power: 0x00000000 | Blk gap: 0x00000000 Nov 6 20:19:42 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000000 Nov 6 20:19:42 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:19:42 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:19:42 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:19:42 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:19:42 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:19:42 maggie kernel: sdhci0: 1 slot(s) allocated Nov 6 20:19:42 maggie kernel: sdhci0: [MPSAFE] Nov 6 20:19:42 maggie kernel: sdhci0: [ITHREAD] Nov 6 20:19:42 maggie kernel: found-> vendor=0x1180, dev=0x0843, revid=0x00 Nov 6 20:19:42 maggie kernel: domain=0, bus=5, slot=9, func=3 Nov 6 20:19:42 maggie kernel: class=08-80-00, hdrtype=0x00, mfdev=1 Nov 6 20:19:42 maggie kernel: cmdreg=0x0002, statreg=0x0210, cachelnsz=0 (dwords) Nov 6 20:19:42 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 20:19:42 maggie kernel: intpin=c, irq=255 Nov 6 20:19:42 maggie kernel: powerspec 2 supports D0 D1 D2 D3 current D0 Nov 6 20:19:42 maggie kernel: pci0:5:9:3: reprobing on driver added Nov 6 20:19:42 maggie kernel: found-> vendor=0x1180, dev=0x0592, revid=0x09 Nov 6 20:19:42 maggie kernel: domain=0, bus=5, slot=9, func=4 Nov 6 20:19:42 maggie kernel: class=08-80-00, hdrtype=0x00, mfdev=1 Nov 6 20:19:42 maggie kernel: cmdreg=0x0002, statreg=0x0210, cachelnsz=0 (dwords) Nov 6 20:19:42 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 20:19:42 maggie kernel: intpin=c, irq=255 Nov 6 20:19:42 maggie kernel: powerspec 2 supports D0 D1 D2 D3 current D0 Nov 6 20:19:42 maggie kernel: pci0:5:9:4: reprobing on driver added Nov 6 20:19:42 maggie kernel: found-> vendor=0x1180, dev=0x0852, revid=0x04 Nov 6 20:19:42 maggie kernel: domain=0, bus=5, slot=9, func=5 Nov 6 20:19:42 maggie kernel: class=08-80-00, hdrtype=0x00, mfdev=1 Nov 6 20:19:42 maggie kernel: cmdreg=0x0002, statreg=0x0210, cachelnsz=0 (dwords) Nov 6 20:19:42 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 20:19:42 maggie kernel: intpin=c, irq=255 Nov 6 20:19:42 maggie kernel: powerspec 2 supports D0 D1 D2 D3 current D0 Nov 6 20:19:42 maggie kernel: pci0:5:9:5: reprobing on driver added -------------------------------------------------------------------------------------------------------- Inserting the SD card: Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 40 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Card inserted Nov 6 20:21:11 maggie kernel: mmc0: on sdhci0 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 0 arg 0 flags 64 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 8 arg 426 flags 101 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1073741824 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 0 arg 0 flags 64 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 8 arg 426 flags 101 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 2 arg 0 flags 103 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 3 arg 0 flags 101 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 9 arg 131072 flags 103 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 7 arg 131072 flags 29 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 131072 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 51 arg 0 flags 53 data 8 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 6 arg 16777215 flags 53 data 64 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 7 arg 0 flags 0 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 7 arg 131072 flags 29 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 6 arg 2164260848 flags 53 data 64 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 7 arg 0 flags 0 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: mmc0: setting transfer rate to 30.000MHz Nov 6 20:21:11 maggie kernel: mmcsd0: 1924MB at mmc0 16MHz/4bit Nov 6 20:21:11 maggie kernel: GEOM: new disk mmcsd0 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 7 arg 131072 flags 29 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: mmc0: setting bus width to 4 bits Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 131072 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 6 arg 2 flags 21 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 512 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 0 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 2017459712 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 2017459712 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 2017459712 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x783ffe00 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 65536 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 65536 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 65536 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x00010000 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 8192 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 8192 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 8192 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x00002000 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 0 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 262144 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 262144 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 262144 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x00040000 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 32768 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 32768 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 32768 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x00008000 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 0 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 1024 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 1024 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 1024 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x00000400 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 8192 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 8192 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 8192 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x00002000 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 65536 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 65536 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 65536 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x00010000 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 0 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 512 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 512 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 512 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x00000200 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 0 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 129536 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 129536 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 129536 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x0001fa00 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 2017459712 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 2017459712 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 2017459712 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x783ffe00 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 195072 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 195072 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 195072 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x0002fa00 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 137728 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 137728 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 137728 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x00021a00 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 129536 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 129536 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 129536 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x0001fa00 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 391680 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 391680 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 391680 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x0005fa00 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 162304 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 162304 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 162304 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x00027a00 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 129536 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 129536 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 129536 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x0001fa00 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 130560 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 130560 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 130560 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x0001fe00 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 137728 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 137728 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 137728 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x00021a00 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 195072 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 195072 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 195072 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x0002fa00 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 129536 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 129536 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 129536 flags 53 data 0 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 129536 flags 53 dlen 0 dflags 2) Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:21:11 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Argument: 0x0001fa00 | Trn mode: 0x00000013 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:21:11 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:21:11 maggie kernel: sdhci0-slot0: =========================================== -------------------------------------------------------------------------------------------------- # fdisk /dev/mmcsd0 Nov 6 20:22:57 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:22:57 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 0 flags 53 dlen 0 dflags 2) Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:22:57 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000013 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:22:57 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:22:57 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:22:57 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 0 flags 53 dlen 0 dflags 2) Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:22:57 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000013 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:22:57 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: =========================================== Nov 6 20:22:57 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 20:22:57 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: got interrupt 18002 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 0 flags 53 dlen 0 dflags 2) Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Nov 6 20:22:57 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Sys addr: 0x3a864000 | Version: 0x00000200 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000013 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 20:22:57 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 20:22:57 maggie kernel: sdhci0-slot0: =========================================== Sorry for the lengthy mail :) -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20081106/46ee4c2f/attachment-0001.pgp From lme at FreeBSD.org Thu Nov 6 11:32:50 2008 From: lme at FreeBSD.org (Lars Engels) Date: Thu Nov 6 11:33:04 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <49134124.8010004@FreeBSD.org> References: <48DEA8E7.2080503@FreeBSD.org> <20081106180556.GH8256@e.0x20.net> <4913345F.2050801@FreeBSD.org> <20081106.112338.1564836080.imp@bsdimp.com> <20081106184017.GB161@e.0x20.net> <49133F2B.4080801@FreeBSD.org> <49134124.8010004@FreeBSD.org> Message-ID: <20081106193247.GE161@e.0x20.net> On Thu, Nov 06, 2008 at 09:10:28PM +0200, Alexander Motin wrote: > Alexander Motin wrote: > >Lars Engels wrote: > >>Much better! Loading mmcsd first, then mmc and sdhci gives me the mmcsd0 > >>device: > >> > >>sdhci0: mem 0xd8002800-0xd80028ff irq 22 at device 9.2 > >>on pci5 > >>sdhci0: 1 slot(s) allocated > >>sdhci0: [ITHREAD] > >>mmc0: on sdhci0 > >>mmcsd0: 1924MB at mmc0 16MHz/4bit > >>sdhci0-slot0: Got data interrupt 0x00000002, but there is no active > >This error should not happen normally. Or this controller has some problems with DMA mode (it's PCI class > >reports that DMA is not supported, but as soon as we have some reports that it does working it is forcefully > >used) or it is some problem with driver. > > Or you can also try PIO mode by removing SDHCI_QUIRK_FORCE_DMA for this chip. Doesn't work either. It is now recognized as a generic SD card reader but I still get errors: sdhci0: mem 0xd8002800-0xd80028ff irq 22 at device 9.2 on pci5 sdhci0: 1 slot(s) allocated sdhci0: [ITHREAD] sdhci0-slot0: got interrupt 40 mmc0: on sdhci0 sdhci_request cmd op 0 arg 0 flags 64 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 8 arg 426 flags 101 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1073741824 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 0 arg 0 flags 64 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 8 arg 426 flags 101 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 0 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 2 arg 0 flags 103 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 3 arg 0 flags 101 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 9 arg 131072 flags 103 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 7 arg 131072 flags 29 data 0 sdhci0-slot0: got interrupt 2 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 55 arg 131072 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 51 arg 0 flags 53 data 8 sdhci0-slot0: got interrupt 21 sdhci0-slot0: got interrupt 2 sdhci_request cmd op 6 arg 16777215 flags 53 data 64 sdhci0-slot0: got interrupt 21 sdhci0-slot0: got interrupt 2 sdhci_request cmd op 7 arg 0 flags 0 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 7 arg 131072 flags 29 data 0 sdhci0-slot0: got interrupt 2 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 6 arg 2164260848 flags 53 data 64 sdhci0-slot0: got interrupt 21 sdhci0-slot0: got interrupt 2 sdhci_request cmd op 7 arg 0 flags 0 data 0 sdhci0-slot0: got interrupt 1 mmcsd0: 1924MB at mmc0 16MHz/4bit sdhci_request cmd op 7 arg 131072 flags 29 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 55 arg 131072 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 6 arg 2 flags 21 data 0 sdhci0-slot0: got interrupt 1 sdhci_request cmd op 17 arg 0 flags 53 data 512 sdhci0-slot0: got interrupt 21 sdhci0-slot0: got interrupt 2 sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 2017459712 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 2017459712 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x783ffe00 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 65536 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 65536 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00010000 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 8192 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 8192 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00002000 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 262144 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 262144 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00040000 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 32768 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 32768 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00008000 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 1024 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 1024 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 1024 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 1024 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000400 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 8192 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 8192 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00002000 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 65536 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 65536 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00010000 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 512 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 512 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000200 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 129536 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 129536 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x0001fa00 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 2017459712 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 2017459712 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x783ffe00 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 195072 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 195072 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x0002fa00 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 137728 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 137728 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00021a00 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 129536 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 129536 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x0001fa00 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 391680 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 391680 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x0005fa00 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 162304 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 162304 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00027a00 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 129536 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 129536 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x0001fa00 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 130560 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 130560 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x0001fe00 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 137728 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 137728 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00021a00 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 195072 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 195072 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x0002fa00 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 129536 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 129536 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x0001fa00 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 3 sdhci_request cmd op 17 arg 0 flags 53 data 0 sdhci0-slot0: got interrupt 18002 sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. sdhci0-slot0: ============== REGISTER DUMP ============== sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000012 sdhci0-slot0: Present: 0x01ff0000 | Host ctl: 0x00000002 sdhci0-slot0: Power: 0x0000000f | Blk gap: 0x00000000 sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000107 sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci0-slot0: =========================================== -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20081106/1c31537f/attachment.pgp From lme at FreeBSD.org Thu Nov 6 13:05:47 2008 From: lme at FreeBSD.org (Lars Engels) Date: Thu Nov 6 13:05:54 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <49134D57.1050003@FreeBSD.org> References: <48DEA8E7.2080503@FreeBSD.org> <20081106180556.GH8256@e.0x20.net> <4913345F.2050801@FreeBSD.org> <20081106.112338.1564836080.imp@bsdimp.com> <20081106184017.GB161@e.0x20.net> <49133F2B.4080801@FreeBSD.org> <20081106192353.GD161@e.0x20.net> <49134D57.1050003@FreeBSD.org> Message-ID: <20081106210545.GF161@e.0x20.net> On Thu, Nov 06, 2008 at 10:02:31PM +0200, Alexander Motin wrote: > Lars Engels wrote: > ># fdisk /dev/mmcsd0 > >Nov 6 20:22:57 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 > >Nov 6 20:22:57 maggie kernel: sdhci0-slot0: got interrupt 3 > >Nov 6 20:22:57 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 > >Nov 6 20:22:57 maggie kernel: sdhci0-slot0: got interrupt 18002 > >Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 0 flags 53 dlen 0 dflags 2) > > Here is just the same. And you have exactly the same with PIO mode. So > looks like it is not card or driver problem, but sooner, mmc or mmcsd > layer problem and it looks quite strange. Which sources exactly do you > have, are they latest, are they in sync with each other and have you > rebuilt all of them carefully? Yes, that's what I have used: lars@pts/4 # ls ~/local-modules/sdhci/ mmc.20081011.tgz sdhci.20081019.tgz sdhci_mod.20081008.tgz > If so, you can try to uncomment > // printf("Len %d %lld-%lld flags %#x sz > // ... > lines in mmcsd.c to look what happens. I forgot to re-built mmcsd before, my fault... Now I re-built and loaded the modules again: Nov 6 21:50:55 maggie kernel: pci0: driver added Nov 6 21:50:55 maggie kernel: found-> vendor=0x8086, dev=0x27c8, revid=0x02 Nov 6 21:50:55 maggie kernel: domain=0, bus=0, slot=29, func=0 Nov 6 21:50:55 maggie kernel: class=0c-03-00, hdrtype=0x00, mfdev=1 Nov 6 21:50:55 maggie kernel: cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) Nov 6 21:50:55 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 21:50:55 maggie kernel: intpin=a, irq=23 Nov 6 21:50:55 maggie kernel: pci0:0:29:0: reprobing on driver added Nov 6 21:50:55 maggie kernel: found-> vendor=0x8086, dev=0x27c9, revid=0x02 Nov 6 21:50:55 maggie kernel: domain=0, bus=0, slot=29, func=1 Nov 6 21:50:55 maggie kernel: class=0c-03-00, hdrtype=0x00, mfdev=0 Nov 6 21:50:55 maggie kernel: cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) Nov 6 21:50:55 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 21:50:55 maggie kernel: intpin=b, irq=19 Nov 6 21:50:55 maggie kernel: pci0:0:29:1: reprobing on driver added Nov 6 21:50:55 maggie kernel: found-> vendor=0x8086, dev=0x27ca, revid=0x02 Nov 6 21:50:55 maggie kernel: domain=0, bus=0, slot=29, func=2 Nov 6 21:50:55 maggie kernel: class=0c-03-00, hdrtype=0x00, mfdev=0 Nov 6 21:50:55 maggie kernel: cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) Nov 6 21:50:55 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 21:50:55 maggie kernel: intpin=c, irq=18 Nov 6 21:50:55 maggie kernel: pci0:0:29:2: reprobing on driver added Nov 6 21:50:55 maggie kernel: found-> vendor=0x8086, dev=0x27cb, revid=0x02 Nov 6 21:50:55 maggie kernel: domain=0, bus=0, slot=29, func=3 Nov 6 21:50:55 maggie kernel: class=0c-03-00, hdrtype=0x00, mfdev=0 Nov 6 21:50:55 maggie kernel: cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) Nov 6 21:50:55 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 21:50:55 maggie kernel: intpin=d, irq=16 Nov 6 21:50:55 maggie kernel: pci0:0:29:3: reprobing on driver added Nov 6 21:50:55 maggie kernel: found-> vendor=0x8086, dev=0x27cc, revid=0x02 Nov 6 21:50:55 maggie kernel: domain=0, bus=0, slot=29, func=7 Nov 6 21:50:55 maggie kernel: class=0c-03-20, hdrtype=0x00, mfdev=0 Nov 6 21:50:55 maggie kernel: cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords) Nov 6 21:50:55 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 21:50:55 maggie kernel: intpin=a, irq=23 Nov 6 21:50:55 maggie kernel: powerspec 2 supports D0 D3 current D0 Nov 6 21:50:55 maggie kernel: pci0:0:29:7: reprobing on driver added Nov 6 21:50:55 maggie kernel: found-> vendor=0x8086, dev=0x27da, revid=0x02 Nov 6 21:50:55 maggie kernel: domain=0, bus=0, slot=31, func=3 Nov 6 21:50:55 maggie kernel: class=0c-05-00, hdrtype=0x00, mfdev=0 Nov 6 21:50:55 maggie kernel: cmdreg=0x0001, statreg=0x0280, cachelnsz=0 (dwords) Nov 6 21:50:55 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 21:50:55 maggie kernel: intpin=b, irq=19 Nov 6 21:50:55 maggie kernel: pci0:0:31:3: reprobing on driver added Nov 6 21:50:55 maggie kernel: pci2: driver added Nov 6 21:50:55 maggie kernel: found-> vendor=0x8086, dev=0x4222, revid=0x02 Nov 6 21:50:55 maggie kernel: domain=0, bus=2, slot=0, func=0 Nov 6 21:50:55 maggie kernel: class=02-80-00, hdrtype=0x00, mfdev=0 Nov 6 21:50:55 maggie kernel: cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords) Nov 6 21:50:55 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 21:50:55 maggie kernel: intpin=a, irq=16 Nov 6 21:50:55 maggie kernel: powerspec 2 supports D0 D3 current D0 Nov 6 21:50:55 maggie kernel: MSI supports 1 message, 64 bit Nov 6 21:50:55 maggie kernel: pci0:2:0:0: reprobing on driver added Nov 6 21:50:55 maggie kernel: pci3: driver added Nov 6 21:50:55 maggie kernel: pci5: driver added Nov 6 21:50:55 maggie kernel: found-> vendor=0x1180, dev=0x0822, revid=0x18 Nov 6 21:50:55 maggie kernel: domain=0, bus=5, slot=9, func=2 Nov 6 21:50:55 maggie kernel: class=08-05-00, hdrtype=0x00, mfdev=1 Nov 6 21:50:55 maggie kernel: cmdreg=0x0000, statreg=0x0210, cachelnsz=0 (dwords) Nov 6 21:50:55 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 21:50:55 maggie kernel: intpin=c, irq=22 Nov 6 21:50:55 maggie kernel: powerspec 2 supports D0 D1 D2 D3 current D0 Nov 6 21:50:55 maggie kernel: pci0:5:9:2: reprobing on driver added Nov 6 21:50:55 maggie kernel: sdhci0: mem 0xd8002800-0xd80028ff irq 22 at device 9.2 on pci5 Nov 6 21:50:55 maggie kernel: pcib3: sdhci0 requested memory range 0xd8002800-0xd80028ff: good Nov 6 21:50:55 maggie kernel: sdhci0-slot0: 33MHz 4bits 3.3V PIO Nov 6 21:50:55 maggie kernel: sdhci0-slot0: ============== REGISTER DUMP ============== Nov 6 21:50:55 maggie kernel: sdhci0-slot0: Sys addr: 0x00000000 | Version: 0x00000200 Nov 6 21:50:55 maggie kernel: sdhci0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000000 Nov 6 21:50:55 maggie kernel: sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000000 Nov 6 21:50:55 maggie kernel: sdhci0-slot0: Present: 0x01fa0000 | Host ctl: 0x00000000 Nov 6 21:50:55 maggie kernel: sdhci0-slot0: Power: 0x00000000 | Blk gap: 0x00000000 Nov 6 21:50:55 maggie kernel: sdhci0-slot0: Wake-up: 0x00000000 | Clock: 0x00000000 Nov 6 21:50:55 maggie kernel: sdhci0-slot0: Timeout: 0x0000000c | Int stat: 0x00000000 Nov 6 21:50:55 maggie kernel: sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb Nov 6 21:50:55 maggie kernel: sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000 Nov 6 21:50:55 maggie kernel: sdhci0-slot0: Caps: 0x01c021a1 | Max curr: 0x00000040 Nov 6 21:50:55 maggie kernel: sdhci0-slot0: =========================================== Nov 6 21:50:55 maggie kernel: sdhci0: 1 slot(s) allocated Nov 6 21:50:55 maggie kernel: sdhci0: [MPSAFE] Nov 6 21:50:55 maggie kernel: sdhci0: [ITHREAD] Nov 6 21:50:55 maggie kernel: found-> vendor=0x1180, dev=0x0843, revid=0x00 Nov 6 21:50:55 maggie kernel: domain=0, bus=5, slot=9, func=3 Nov 6 21:50:55 maggie kernel: class=08-80-00, hdrtype=0x00, mfdev=1 Nov 6 21:50:55 maggie kernel: cmdreg=0x0002, statreg=0x0210, cachelnsz=0 (dwords) Nov 6 21:50:55 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 21:50:55 maggie kernel: intpin=c, irq=255 Nov 6 21:50:55 maggie kernel: powerspec 2 supports D0 D1 D2 D3 current D0 Nov 6 21:50:55 maggie kernel: pci0:5:9:3: reprobing on driver added Nov 6 21:50:55 maggie kernel: found-> vendor=0x1180, dev=0x0592, revid=0x09 Nov 6 21:50:55 maggie kernel: domain=0, bus=5, slot=9, func=4 Nov 6 21:50:55 maggie kernel: class=08-80-00, hdrtype=0x00, mfdev=1 Nov 6 21:50:55 maggie kernel: cmdreg=0x0002, statreg=0x0210, cachelnsz=0 (dwords) Nov 6 21:50:55 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 21:50:55 maggie kernel: intpin=c, irq=255 Nov 6 21:50:55 maggie kernel: powerspec 2 supports D0 D1 D2 D3 current D0 Nov 6 21:50:55 maggie kernel: pci0:5:9:4: reprobing on driver added Nov 6 21:50:55 maggie kernel: found-> vendor=0x1180, dev=0x0852, revid=0x04 Nov 6 21:50:55 maggie kernel: domain=0, bus=5, slot=9, func=5 Nov 6 21:50:55 maggie kernel: class=08-80-00, hdrtype=0x00, mfdev=1 Nov 6 21:50:55 maggie kernel: cmdreg=0x0002, statreg=0x0210, cachelnsz=0 (dwords) Nov 6 21:50:55 maggie kernel: lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) Nov 6 21:50:55 maggie kernel: intpin=c, irq=255 Nov 6 21:50:55 maggie kernel: powerspec 2 supports D0 D1 D2 D3 current D0 Nov 6 21:50:55 maggie kernel: pci0:5:9:5: reprobing on driver added ------------------------------------------------------------------------------------------- Card insertion: Nov 6 21:54:26 maggie kernel: sdhci0-slot0: got interrupt 40 Nov 6 21:54:26 maggie kernel: sdhci0-slot0: Card inserted Nov 6 21:54:27 maggie kernel: mmc0: on sdhci0 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 0 arg 0 flags 64 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 8 arg 426 flags 101 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1073741824 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 0 arg 0 flags 64 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 8 arg 426 flags 101 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-flot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 0 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 41 arg 1090486272 flags 97 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 2 arg 0 flags 103 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 3 arg 0 flags 101 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 9 arg 131072 flags 103 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 7 arg 131072 flags 29 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 131072 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 51 arg 0 flags 53 data 8 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 6 arg 16777215 flags 53 data 64 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 7 arg 0 flags 0 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 7 arg 131072 flags 29 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 6 arg 2164260848 flags 53 data 64 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 7 arg 0 flags 0 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: mmc0: setting transfer rate to 30.000MHz Nov 6 21:54:27 maggie kernel: mmcsd0: 1924MB at mmc0 16MHz/4bit Nov 6 21:54:27 maggie kernel: GEOM: new disk mmcsd0 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 7 arg 131072 flags 29 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 3 Nov 6 21:54:27 maggie kernel: mmc0: setting bus width to 4 bits Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 55 arg 131072 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 6 arg 2 flags 21 data 0 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 1 Nov 6 21:54:27 maggie kernel: Len 512 0-1 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 0-1 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 1-2 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 512 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 3940351-3940352 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 2017459712 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 3940351-3940352 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 2017459712 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 8192 128-144 flags 0xa sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 18 arg 65536 flags 53 data 8192 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 22 Nov 6 21:54:27 maggie kernel: Len 8192 16-32 flags 0xa sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 18 arg 8192 flags 53 data 8192 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 22 Nov 6 21:54:27 maggie kernel: Len 8192 0-16 flags 0xa sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 18 arg 0 flags 53 data 8192 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 22 Nov 6 21:54:27 maggie kernel: Len 8192 512-528 flags 0xa sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 18 arg 262144 flags 53 data 8192 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 22 Nov 6 21:54:27 maggie kernel: Len 512 64-65 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 32768 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 0-1 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 2-3 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 1024 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 16-17 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 8192 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 128-129 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 65536 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 0-1 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 1-2 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 512 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 0-1 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 253-254 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 129536 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 254-255 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 130048 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 3940351-3940352 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 2017459712 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 3940351-3940352 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 2017459712 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 8192 381-397 flags 0xa sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 18 arg 195072 flags 53 data 8192 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 22 Nov 6 21:54:27 maggie kernel: Len 8192 269-285 flags 0xa sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 18 arg 137728 flags 53 data 8192 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 22 Nov 6 21:54:27 maggie kernel: Len 8192 253-269 flags 0xa sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 18 arg 129536 flags 53 data 8192 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 22 Nov 6 21:54:27 maggie kernel: Len 8192 765-781 flags 0xa sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 18 arg 391680 flags 53 data 8192 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 22 Nov 6 21:54:27 maggie kernel: Len 512 317-318 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 162304 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 253-254 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 129536 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: GEOM_LABEL: Label for provider mmcsd0s1 is msdosfs/ . Nov 6 21:54:27 maggie kernel: Len 512 255-256 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 130560 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 269-270 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 137728 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 381-382 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 195072 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 253-254 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 129536 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 253-254 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 129536 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 253-254 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 129536 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 254-255 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 130048 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:54:27 maggie kernel: Len 512 3940351-3940352 flags 0x2 sz 512 Nov 6 21:54:27 maggie kernel: sdhci_request cmd op 17 arg 2017459712 flags 53 data 512 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:54:27 maggie kernel: sdhci0-slot0: got interrupt 2 -------------------------------------------------------------------------- yay, fdisk works: lars@pts/3 # fdisk /dev/mmcsd0 ******* Working on device /dev/mmcsd0 ******* parameters extracted from in-core disklabel are: cylinders=245 heads=255 sectors/track=63 (16065 blks/cyl) parameters to be used for BIOS calculations are: cylinders=245 heads=255 sectors/track=63 (16065 blks/cyl) Media sector size is 512 Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 6 (0x06),(Primary 'big' DOS (>= 32MB)) start 253, size 3940099 (1923 Meg), flag 0 beg: cyl 0/ head 4/ sector 2; end: cyl 977/ head 17/ sector 17 The data for partition 2 is: The data for partition 3 is: The data for partition 4 is: Nov 6 21:55:33 maggie kernel: Len 512 0-1 flags 0x2 sz 512 Nov 6 21:55:33 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 512 Nov 6 21:55:33 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:55:33 maggie kernel: sdhci0-slot0: got interrupt 2 Nov 6 21:55:33 maggie kernel: Len 512 0-1 flags 0x2 sz 512 Nov 6 21:55:33 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 512 Nov 6 21:55:33 maggie kernel: sdhci0-slot0: got interrupt 21 Nov 6 21:55:33 maggie kernel: sdhci0-slot0: got interrupt 2 And mounting also works! \o/ lars@pts/3 # touch /mnt/foo Thu, 06. Nov 2008, 21:57:01 [maggie:/usr/src/sys/modules/mmc] lars@pts/3 # ls /mnt foo And now also the sdhci card is recognized properly and I can mount it without a panic. Thanks a lot! :) > >Sorry for the lengthy mail :) > > Thanks, I like such mails, it's like a hunting. :) Yeah, I had (still have on the other notebook) some bait for you. :) -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20081106/4f5a9daa/attachment.pgp From mav at FreeBSD.org Thu Nov 6 14:48:17 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Thu Nov 6 14:48:23 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <20081106.101047.163264510.imp@bsdimp.com> References: <49130918.5030904@FreeBSD.org> <20081106163729.clcw2eulgk0k4w0c@0x20.net> <49131109.2020601@FreeBSD.org> <20081106.101047.163264510.imp@bsdimp.com> Message-ID: <4913742E.9040801@FreeBSD.org> M. Warner Losh wrote: > In message: <49131109.2020601@FreeBSD.org> > Alexander Motin writes: > : Lars Engels wrote: > : > 1. How can I tune the PCI configuration? With pciconf -w or so? > : > : Yes. `pciconf -r -b device addr` to read and `pciconf -w -b device addr > : value` to write. > > I have changes that almost make my TI card do it. > > : > 2. Unfortunately the sysctl did not change a thing with regard to the > : > Card reader. > : > : Have you added it to the loader.conf and rebooted? > : > : > 3. I added the chip ID and the second device is now recognized as a > : > sdhci device but still does not see any card inserted: > : > > : > Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't specify base > : > clock frequency. > : > Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't specify > : > timeout clock frequency. > : > Nov 6 16:32:20 NB0117232 kernel: sdhci1: Hardware doesn't report any > : > support voltages. > : > : Looks like it is not enough compatible, or even not compatible. > > Chances are good that you need to the workaround to turn on these > things. Here is some datasheet I have found for R5C832, but it looks not too detailed to say something for sure: http://www.aeneas.com.cn/PDF/Ricoh/2005/R5C832E1%5B1%5D.00.pdf At least it says that it's MMC interface is single-bit, while standard SD host controller has 4 bit's bus. -- Alexander Motin From mav at FreeBSD.org Thu Nov 6 11:02:06 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Thu Nov 6 16:16:59 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <20081106184017.GB161@e.0x20.net> References: <48DEA8E7.2080503@FreeBSD.org> <20081106180556.GH8256@e.0x20.net> <4913345F.2050801@FreeBSD.org> <20081106.112338.1564836080.imp@bsdimp.com> <20081106184017.GB161@e.0x20.net> Message-ID: <49133F2B.4080801@FreeBSD.org> Lars Engels wrote: > Much better! Loading mmcsd first, then mmc and sdhci gives me the mmcsd0 > device: > > sdhci0: mem 0xd8002800-0xd80028ff irq 22 at device 9.2 > on pci5 > sdhci0: 1 slot(s) allocated > sdhci0: [ITHREAD] > mmc0: on sdhci0 > mmcsd0: 1924MB at mmc0 16MHz/4bit > sdhci0-slot0: Got data interrupt 0x00000002, but there is no active This error should not happen normally. Or this controller has some problems with DMA mode (it's PCI class reports that DMA is not supported, but as soon as we have some reports that it does working it is forcefully used) or it is some problem with driver. To get some info about what is happening actually, uncomment two fragments in driver. This: /* printf("%s cmd op %u arg %u flags %u data %ju\n", __func__, req->cmd->opcode, req->cmd->arg, req->cmd->flags, (req->cmd->data)?req->cmd->data->len:0); */ and this: /* slot_printf(slot, "got interrupt %x\n", intmask); */ Enable verbose messages, and send me what you will get. -- Alexander Motin From mav at FreeBSD.org Thu Nov 6 11:10:32 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Thu Nov 6 16:17:07 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <49133F2B.4080801@FreeBSD.org> References: <48DEA8E7.2080503@FreeBSD.org> <20081106180556.GH8256@e.0x20.net> <4913345F.2050801@FreeBSD.org> <20081106.112338.1564836080.imp@bsdimp.com> <20081106184017.GB161@e.0x20.net> <49133F2B.4080801@FreeBSD.org> Message-ID: <49134124.8010004@FreeBSD.org> Alexander Motin wrote: > Lars Engels wrote: >> Much better! Loading mmcsd first, then mmc and sdhci gives me the mmcsd0 >> device: >> >> sdhci0: mem 0xd8002800-0xd80028ff irq 22 at device 9.2 >> on pci5 >> sdhci0: 1 slot(s) allocated >> sdhci0: [ITHREAD] >> mmc0: on sdhci0 >> mmcsd0: 1924MB at mmc0 16MHz/4bit >> sdhci0-slot0: Got data interrupt 0x00000002, but there is no active > > This error should not happen normally. Or this controller has some > problems with DMA mode (it's PCI class reports that DMA is not > supported, but as soon as we have some reports that it does working it > is forcefully used) or it is some problem with driver. Or you can also try PIO mode by removing SDHCI_QUIRK_FORCE_DMA for this chip. -- Alexander Motin From mav at FreeBSD.org Thu Nov 6 12:02:34 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Thu Nov 6 16:17:16 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <20081106192353.GD161@e.0x20.net> References: <48DEA8E7.2080503@FreeBSD.org> <20081106180556.GH8256@e.0x20.net> <4913345F.2050801@FreeBSD.org> <20081106.112338.1564836080.imp@bsdimp.com> <20081106184017.GB161@e.0x20.net> <49133F2B.4080801@FreeBSD.org> <20081106192353.GD161@e.0x20.net> Message-ID: <49134D57.1050003@FreeBSD.org> Lars Engels wrote: > Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 55 arg 131072 flags 21 data 0 > Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 > Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 6 arg 2 flags 21 data 0 > Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 1 > Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 512 > Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 This is the first data request. 512 bytes reading. It was finished successfully: command end + data end = 3. > Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 > Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 3 But here is the problem. For some reason you have _zero_ data size. Controller reports successful competition, but it probably isn't > Nov 6 20:21:11 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 > Nov 6 20:21:11 maggie kernel: sdhci0-slot0: got interrupt 18002 > Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 0 flags 53 dlen 0 dflags 2) > Nov 6 20:21:11 maggie kernel: sdhci0-slot0: Got data interrupt 0x00000002, but there is no active command. Here is the results of the previous. Card still sending something, does not responds to the command, controller signals error. > # fdisk /dev/mmcsd0 > > Nov 6 20:22:57 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 > Nov 6 20:22:57 maggie kernel: sdhci0-slot0: got interrupt 3 > Nov 6 20:22:57 maggie kernel: sdhci_request cmd op 17 arg 0 flags 53 data 0 > Nov 6 20:22:57 maggie kernel: sdhci0-slot0: got interrupt 18002 > Nov 6 20:22:57 maggie kernel: sdhci0-slot0: Command error 1 (opcode 17 arg 0 flags 53 dlen 0 dflags 2) Here is just the same. And you have exactly the same with PIO mode. So looks like it is not card or driver problem, but sooner, mmc or mmcsd layer problem and it looks quite strange. Which sources exactly do you have, are they latest, are they in sync with each other and have you rebuilt all of them carefully? If so, you can try to uncomment // printf("Len %d %lld-%lld flags %#x sz // ... lines in mmcsd.c to look what happens. > Sorry for the lengthy mail :) Thanks, I like such mails, it's like a hunting. :) -- Alexander Motin From mav at FreeBSD.org Thu Nov 6 14:12:46 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Thu Nov 6 16:17:55 2008 Subject: RFC: PCI SD host controller driver & mmc/mmcsd modules improvements In-Reply-To: <20081106210545.GF161@e.0x20.net> References: <48DEA8E7.2080503@FreeBSD.org> <20081106180556.GH8256@e.0x20.net> <4913345F.2050801@FreeBSD.org> <20081106.112338.1564836080.imp@bsdimp.com> <20081106184017.GB161@e.0x20.net> <49133F2B.4080801@FreeBSD.org> <20081106192353.GD161@e.0x20.net> <49134D57.1050003@FreeBSD.org> <20081106210545.GF161@e.0x20.net> Message-ID: <49136BDA.6060301@FreeBSD.org> Lars Engels wrote: > Yes, that's what I have used: > lars@pts/4 # ls ~/local-modules/sdhci/ > mmc.20081011.tgz sdhci.20081019.tgz sdhci_mod.20081008.tgz That should not be bad, but the latest version is now committed to the HEAD. > I forgot to re-built mmcsd before, my fault... > Now I re-built and loaded the modules again: > > And now also the sdhci card is recognized properly and I can mount it without a panic. > Thanks a lot! :) Welcome. :) >>> Sorry for the lengthy mail :) >> Thanks, I like such mails, it's like a hunting. :) > > Yeah, I had (still have on the other notebook) some bait for you. :) Fighting unknown hardware without touching it is probably the next level of enlightenment. :) I know, there is no spoon! :) -- Alexander Motin From bugmaster at FreeBSD.org Mon Nov 10 03:06:48 2008 From: bugmaster at FreeBSD.org (FreeBSD bugmaster) Date: Mon Nov 10 03:07:33 2008 Subject: Current problem reports assigned to freebsd-arm@FreeBSD.org Message-ID: <200811101106.mAAB6lfT049659@freefall.freebsd.org> Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- p arm/128095 arm Sizeof(pointer) bug . 1 problem total. From sam at FreeBSD.org Mon Nov 10 09:02:24 2008 From: sam at FreeBSD.org (sam@FreeBSD.org) Date: Mon Nov 10 09:02:31 2008 Subject: arm/128095: Sizeof(pointer) bug . Message-ID: <200811101702.mAAH2O2r021033@freefall.freebsd.org> Synopsis: Sizeof(pointer) bug . State-Changed-From-To: patched->closed State-Changed-By: sam State-Changed-When: Mon Nov 10 17:02:01 UTC 2008 State-Changed-Why: fix was committed http://www.freebsd.org/cgi/query-pr.cgi?pr=128095 From pankov_p at mail.ru Sat Nov 15 09:10:06 2008 From: pankov_p at mail.ru (Pavel Pankov) Date: Sat Nov 15 09:10:12 2008 Subject: arm/128891: [PATCH] Fix for spelling error in arm machdep code Message-ID: <200811151708.mAFH8fnk093842@www.freebsd.org> >Number: 128891 >Category: arm >Synopsis: [PATCH] Fix for spelling error in arm machdep code >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-arm >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Nov 15 17:10:05 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Pavel Pankov >Release: 8.0-CURRENT >Organization: MPEI >Environment: FreeBSD tionfather 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Wed Oct 29 13:12:21 MSK 2008 root@tionfather:/usr/obj/usr/src/sys/TIONFATHER i386 >Description: Machdep files for all arm platforms contain a small typo: "reloations" instead of "relocations". >How-To-Repeat: Try reading the arm machdep source code :) >Fix: Apply the attached patch. Patch attached with submission follows: Index: at91/kb920x_machdep.c =================================================================== RCS file: /home/ncvs/src/sys/arm/at91/kb920x_machdep.c,v retrieving revision 1.31 diff -u -r1.31 kb920x_machdep.c --- at91/kb920x_machdep.c 5 Sep 2008 22:23:41 -0000 1.31 +++ at91/kb920x_machdep.c 15 Nov 2008 16:50:25 -0000 @@ -384,7 +384,7 @@ * but since we are boot strapping the addresses used for the read * may have just been remapped and thus the cache could be out * of sync. A re-clean after the switch will cure this. - * After booting there are no gross reloations of the kernel thus + * After booting there are no gross relocations of the kernel thus * this problem will not occur after initarm(). */ cpu_idcache_wbinv_all(); Index: mv/mv_machdep.c =================================================================== RCS file: /home/ncvs/src/sys/arm/mv/mv_machdep.c,v retrieving revision 1.2 diff -u -r1.2 mv_machdep.c --- mv/mv_machdep.c 6 Nov 2008 16:25:12 -0000 1.2 +++ mv/mv_machdep.c 15 Nov 2008 16:50:26 -0000 @@ -579,7 +579,7 @@ * but since we are boot strapping the addresses used for the read * may have just been remapped and thus the cache could be out * of sync. A re-clean after the switch will cure this. - * After booting there are no gross reloations of the kernel thus + * After booting there are no gross relocations of the kernel thus * this problem will not occur after initarm(). */ cpu_idcache_wbinv_all(); Index: sa11x0/assabet_machdep.c =================================================================== RCS file: /home/ncvs/src/sys/arm/sa11x0/assabet_machdep.c,v retrieving revision 1.25 diff -u -r1.25 assabet_machdep.c --- sa11x0/assabet_machdep.c 8 Apr 2008 10:24:41 -0000 1.25 +++ sa11x0/assabet_machdep.c 15 Nov 2008 16:50:28 -0000 @@ -375,7 +375,7 @@ * but since we are boot strapping the addresses used for the read * may have just been remapped and thus the cache could be out * of sync. A re-clean after the switch will cure this. - * After booting there are no gross reloations of the kernel thus + * After booting there are no gross relocations of the kernel thus * this problem will not occur after initarm(). */ cpu_idcache_wbinv_all(); Index: xscale/i80321/ep80219_machdep.c =================================================================== RCS file: /home/ncvs/src/sys/arm/xscale/i80321/ep80219_machdep.c,v retrieving revision 1.11 diff -u -r1.11 ep80219_machdep.c --- xscale/i80321/ep80219_machdep.c 18 Jul 2008 06:14:36 -0000 1.11 +++ xscale/i80321/ep80219_machdep.c 15 Nov 2008 16:50:30 -0000 @@ -352,7 +352,7 @@ * but since we are boot strapping the addresses used for the read * may have just been remapped and thus the cache could be out * of sync. A re-clean after the switch will cure this. - * After booting there are no gross reloations of the kernel thus + * After booting there are no gross relocations of the kernel thus * this problem will not occur after initarm(). */ cpu_idcache_wbinv_all(); Index: xscale/i80321/iq31244_machdep.c =================================================================== RCS file: /home/ncvs/src/sys/arm/xscale/i80321/iq31244_machdep.c,v retrieving revision 1.32 diff -u -r1.32 iq31244_machdep.c --- xscale/i80321/iq31244_machdep.c 18 Jul 2008 06:14:36 -0000 1.32 +++ xscale/i80321/iq31244_machdep.c 15 Nov 2008 16:50:30 -0000 @@ -350,7 +350,7 @@ * but since we are boot strapping the addresses used for the read * may have just been remapped and thus the cache could be out * of sync. A re-clean after the switch will cure this. - * After booting there are no gross reloations of the kernel thus + * After booting there are no gross relocations of the kernel thus * this problem will not occur after initarm(). */ cpu_idcache_wbinv_all(); Index: xscale/i8134x/crb_machdep.c =================================================================== RCS file: /home/ncvs/src/sys/arm/xscale/i8134x/crb_machdep.c,v retrieving revision 1.8 diff -u -r1.8 crb_machdep.c --- xscale/i8134x/crb_machdep.c 18 Jul 2008 06:14:36 -0000 1.8 +++ xscale/i8134x/crb_machdep.c 15 Nov 2008 16:50:31 -0000 @@ -332,7 +332,7 @@ * but since we are boot strapping the addresses used for the read * may have just been remapped and thus the cache could be out * of sync. A re-clean after the switch will cure this. - * After booting there are no gross reloations of the kernel thus + * After booting there are no gross relocations of the kernel thus * this problem will not occur after initarm(). */ cpu_idcache_wbinv_all(); Index: xscale/ixp425/avila_machdep.c =================================================================== RCS file: /home/ncvs/src/sys/arm/xscale/ixp425/avila_machdep.c,v retrieving revision 1.12 diff -u -r1.12 avila_machdep.c --- xscale/ixp425/avila_machdep.c 2 Oct 2008 22:31:30 -0000 1.12 +++ xscale/ixp425/avila_machdep.c 15 Nov 2008 16:50:33 -0000 @@ -418,7 +418,7 @@ * but since we are boot strapping the addresses used for the read * may have just been remapped and thus the cache could be out * of sync. A re-clean after the switch will cure this. - * After booting there are no gross reloations of the kernel thus + * After booting there are no gross relocations of the kernel thus * this problem will not occur after initarm(). */ cpu_idcache_wbinv_all(); Index: xscale/pxa/pxa_machdep.c =================================================================== RCS file: /home/ncvs/src/sys/arm/xscale/pxa/pxa_machdep.c,v retrieving revision 1.3 diff -u -r1.3 pxa_machdep.c --- xscale/pxa/pxa_machdep.c 18 Jul 2008 06:14:36 -0000 1.3 +++ xscale/pxa/pxa_machdep.c 15 Nov 2008 16:50:34 -0000 @@ -330,7 +330,7 @@ * but since we are boot strapping the addresses used for the read * may have just been remapped and thus the cache could be out * of sync. A re-clean after the switch will cure this. - * After booting there are no gross reloations of the kernel thus + * After booting there are no gross relocations of the kernel thus * this problem will not occur after initarm(). */ cpu_idcache_wbinv_all(); >Release-Note: >Audit-Trail: >Unformatted: From pankov_p at mail.ru Sat Nov 15 13:10:07 2008 From: pankov_p at mail.ru (Pankov Pavel) Date: Sat Nov 15 13:10:13 2008 Subject: arm/128897: [PATCH] Failture to build arm kernel with "options KTR" Message-ID: <200811152102.mAFL2kLY011191@www.freebsd.org> >Number: 128897 >Category: arm >Synopsis: [PATCH] Failture to build arm kernel with "options KTR" >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-arm >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Nov 15 21:10:06 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Pankov Pavel >Release: 8.0-CURRENT >Organization: MPEI >Environment: FreeBSD tionfather 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Wed Oct 29 13:12:21 MSK 2008 root@tionfather:/usr/obj/usr/src/sys/TIONFATHER i386 >Description: Building ktr(4)-enabled ARM kernel results in error because of use of undefined variable Maxmem in _bus_dmamap_count_pages function. >How-To-Repeat: Add "options KTR" to any ARM kernel config try building kernel. >Fix: Apply the attached patch. Patch attached with submission follows: Index: sys/arm/arm/busdma_machdep.c =================================================================== RCS file: /home/ncvs/src/sys/arm/arm/busdma_machdep.c,v retrieving revision 1.39 diff -u -r1.39 busdma_machdep.c --- sys/arm/arm/busdma_machdep.c 13 Oct 2008 18:59:59 -0000 1.39 +++ sys/arm/arm/busdma_machdep.c 15 Nov 2008 15:35:46 -0000 @@ -673,8 +673,8 @@ bus_addr_t paddr; if ((map->pagesneeded == 0)) { - CTR4(KTR_BUSDMA, "lowaddr= %d Maxmem= %d, boundary= %d, " - "alignment= %d", dmat->lowaddr, ptoa((vm_paddr_t)Maxmem), + CTR3(KTR_BUSDMA, "lowaddr= %d, boundary= %d, " + "alignment= %d", dmat->lowaddr, dmat->boundary, dmat->alignment); CTR2(KTR_BUSDMA, "map= %p, pagesneeded= %d", map, map->pagesneeded); >Release-Note: >Audit-Trail: >Unformatted: From stas at FreeBSD.org Sun Nov 16 01:50:04 2008 From: stas at FreeBSD.org (Stanislav Sedov) Date: Sun Nov 16 01:50:09 2008 Subject: arm/128897: [PATCH] Failture to build arm kernel with "options KTR" Message-ID: <200811160950.mAG9o3IR004164@freefall.freebsd.org> The following reply was made to PR arm/128897; it has been noted by GNATS. From: Stanislav Sedov To: Pankov Pavel Cc: bug-followup@FreeBSD.org Subject: Re: arm/128897: [PATCH] Failture to build arm kernel with "options KTR" Date: Sun, 16 Nov 2008 12:33:05 +0300 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Sat, 15 Nov 2008 21:02:46 GMT Pankov Pavel mentioned: > Building ktr(4)-enabled ARM kernel results in error because of use of undefined variable Maxmem in _bus_dmamap_count_pages function. Have you checked KTR works at all on ARM kernels? - -- Stanislav Sedov ST4096-RIPE -----BEGIN PGP SIGNATURE----- iEYEARECAAYFAkkf6NYACgkQK/VZk+smlYEt2QCdEFc9tg8xyKxzN66RFg5xE+9G PCYAnRfyo4kWugPNaEEyCH6o9SweU2/a =6nZH -----END PGP SIGNATURE----- From raj at semihalf.com Sun Nov 16 02:50:33 2008 From: raj at semihalf.com (=?ISO-8859-2?Q?Rafa=B3_Jaworowski?=) Date: Sun Nov 16 02:50:39 2008 Subject: arm/128897: [PATCH] Failture to build arm kernel with "options KTR" In-Reply-To: <200811160950.mAG9o3IR004164@freefall.freebsd.org> References: <200811160950.mAG9o3IR004164@freefall.freebsd.org> Message-ID: <60E0BD1F-A4BF-4E22-BF6D-A0B953F7193B@semihalf.com> On 2008-11-16, at 10:50, Stanislav Sedov wrote: > The following reply was made to PR arm/128897; it has been noted by > GNATS. > > From: Stanislav Sedov > To: Pankov Pavel > Cc: bug-followup@FreeBSD.org > Subject: Re: arm/128897: [PATCH] Failture to build arm kernel with > "options KTR" > Date: Sun, 16 Nov 2008 12:33:05 +0300 > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On Sat, 15 Nov 2008 21:02:46 GMT > Pankov Pavel mentioned: > >> Building ktr(4)-enabled ARM kernel results in error because of use >> of undefined variable Maxmem in _bus_dmamap_count_pages function. > > Have you checked KTR works at all on ARM kernels? > I can confirm that KTR works without problems on ARM. The Maxmem issue is probably a leftover from some copy/paste from other arch, the variable is not set and used by the ARM code currently, so this particular KTR entry can be removed safely. Rafal From linimon at FreeBSD.org Sun Nov 16 18:57:33 2008 From: linimon at FreeBSD.org (linimon@FreeBSD.org) Date: Sun Nov 16 18:57:38 2008 Subject: arm/128906: Re: arm/128897: [PATCH] Failure to build arm kernel with "options KTR" Message-ID: <200811170257.mAH2vWr5077083@freefall.freebsd.org> Old Synopsis: =?koi8-r?Q?Re[2]=3A_arm/128897=3A_[PATCH]_Failture_to_build_arm_kernel_with=22options_KTR=22?= New Synopsis: Re: arm/128897: [PATCH] Failure to build arm kernel with "options KTR" State-Changed-From-To: open->closed State-Changed-By: linimon State-Changed-When: Mon Nov 17 02:53:17 UTC 2008 State-Changed-Why: Misfiled followup to arm/128897. Responsible-Changed-From-To: gnats-admin->freebsd-arm Responsible-Changed-By: linimon Responsible-Changed-When: Mon Nov 17 02:53:17 UTC 2008 Responsible-Changed-Why: http://www.freebsd.org/cgi/query-pr.cgi?pr=128906 From bugmaster at FreeBSD.org Mon Nov 17 03:06:49 2008 From: bugmaster at FreeBSD.org (FreeBSD bugmaster) Date: Mon Nov 17 03:07:35 2008 Subject: Current problem reports assigned to freebsd-arm@FreeBSD.org Message-ID: <200811171106.mAHB6l0b082465@freefall.freebsd.org> Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o arm/128897 arm [PATCH] Failture to build arm kernel with "options KTR o arm/128891 arm [PATCH] Fix for spelling error in arm machdep code 2 problems total. From bkoenig at alpha-tierchen.de Tue Nov 18 03:30:02 2008 From: bkoenig at alpha-tierchen.de (Björn König) Date: Tue Nov 18 03:30:19 2008 Subject: arm/128959: [patch] Fix broken code for AT91. Message-ID: <20081118112636.6724128A19@home.alpha-tierchen.de> >Number: 128959 >Category: arm >Synopsis: [patch] Fix broken code for AT91. >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-arm >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Tue Nov 18 11:30:01 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Björn König >Release: >Organization: >Environment: >Description: The AT91 code is broken, i.e. it doesn't build because of minor bugs. >How-To-Repeat: >Fix: --- src-sys-arm-at91.diff begins here --- diff --git a/src/sys/arm/at91/at91_mci.c b/src/sys/arm/at91/at91_mci.c index 1e8b4a4..678cb14 100644 --- a/src/sys/arm/at91/at91_mci.c +++ b/src/sys/arm/at91/at91_mci.c @@ -176,7 +176,7 @@ at91_mci_attach(device_t dev) * Allocate DMA tags and maps */ err = bus_dma_tag_create(bus_get_dma_tag(dev), 1, 0, - BUS_SPACE_MAXADDR_32BIT, US_SPACE_MAXADDR, NULL, NULL, MAXPHYS, 1, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, MAXPHYS, 1, MAXPHYS, BUS_DMA_ALLOCNOW, NULL, NULL, &sc->dmatag); if (err != 0) goto out; diff --git a/src/sys/arm/at91/uart_dev_at91usart.c b/src/sys/arm/at91/uart_dev_at91usart.c index 9c598a4..d5d13c6 100644 --- a/src/sys/arm/at91/uart_dev_at91usart.c +++ b/src/sys/arm/at91/uart_dev_at91usart.c @@ -350,7 +350,7 @@ at91_usart_bus_attach(struct uart_softc *sc) /* * Allocate DMA tags and maps */ - err = bus_dma_tag_create(bus_get_dma_tag(dev), 1, 0, + err = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, USART_BUFFER_SIZE, 1, USART_BUFFER_SIZE, BUS_DMA_ALLOCNOW, NULL, NULL, &atsc->dmatag); --- src-sys-arm-at91.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted: From bkoenig at alpha-tierchen.de Tue Nov 18 04:10:06 2008 From: bkoenig at alpha-tierchen.de (Björn König) Date: Tue Nov 18 04:10:20 2008 Subject: arm/128961: [patch] Detect main clock frequency of AT91 controller. Message-ID: <20081118120335.363CE28A19@home.alpha-tierchen.de> >Number: 128961 >Category: arm >Synopsis: [patch] Detect main clock frequency of AT91 controller. >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-arm >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Tue Nov 18 12:10:06 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Björn König >Release: >Organization: >Environment: >Description: The PMC of the AT91 controller provides a register where you can find an estimation of the main clock frequency. The patch below uses this register to sense the frequency of the oscillating crystal. Alternatively you can set the frequency explicitely in the kernel configuration file with options AT91C_MAIN_CLOCK=16000000 for example. >How-To-Repeat: >Fix: --- src-sys-arm-at91.diff begins here --- diff --git src/sys/arm/at91/at91_pmc.c src/sys/arm/at91/at91_pmc.c index 061e2bc..c2a97ab 100644 --- src/sys/arm/at91/at91_pmc.c +++ src/sys/arm/at91/at91_pmc.c @@ -144,6 +144,17 @@ static struct at91_pmc_clock *const clock_list[] = { &ohci_clk }; +#if !defined(AT91C_MAIN_CLOCK) +static const int at91_mainf_tbl[] = { + 3000000, 3276800, 3686400, 3840000, 4000000, + 4433619, 4915200, 5000000, 5242880, 6000000, + 6144000, 6400000, 6553600, 7159090, 7372800, + 7864320, 8000000, 9830400, 10000000, 11059200, + 12000000, 12288000, 13560000, 14318180, 14745600, + 16000000, 17344700, 18432000, 20000000, 0 +}; +#endif + static inline uint32_t RD4(struct at91_pmc_softc *sc, bus_size_t off) { @@ -383,6 +394,26 @@ at91_pmc_probe(device_t dev) return (0); } +#if !defined(AT91C_MAIN_CLOCK) +static int +at91_pmc_sense_mainf(struct at91_pmc_softc *sc) +{ + int ret = 0; + const int *p; + int mainf = (RD4(sc, CKGR_MCFR) & CKGR_MCFR_MAINF_MASK) << 11; + unsigned diff = (unsigned)-1; + + for (p = at91_mainf_tbl; *p != 0; p++) + if (abs(mainf - *p) < diff) + { + diff = abs(mainf - *p); + ret = *p; + } + + return (ret); +} +#endif + static int at91_pmc_attach(device_t dev) { @@ -392,10 +423,10 @@ at91_pmc_attach(device_t dev) pmc_softc->dev = dev; if ((err = at91_pmc_activate(dev)) != 0) return err; -#if defined(AT91_TSC) | defined (AT91_BWCT) - at91_pmc_init_clock(pmc_softc, 16000000); +#if defined(AT91C_MAIN_CLOCK) + at91_pmc_init_clock(pmc_softc, AT91C_MAIN_CLOCK); #else - at91_pmc_init_clock(pmc_softc, 10000000); + at91_pmc_init_clock(pmc_softc, at91_pmc_sense_mainf(pmc_softc)); #endif return (0); diff --git src/sys/conf/options.arm src/sys/conf/options.arm index 66b2575..56791a8 100644 --- src/sys/conf/options.arm +++ src/sys/conf/options.arm @@ -5,6 +5,7 @@ ARMFPE opt_global.h ARM_KERN_DIRECTMAP opt_vm.h ARM_USE_SMALL_ALLOC opt_global.h AT91C_MASTER_CLOCK opt_global.h +AT91C_MAIN_CLOCK opt_at91.h COUNTS_PER_SEC opt_timer.h CPU_SA1100 opt_global.h CPU_SA1110 opt_global.h --- src-sys-arm-at91.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted: From stas at FreeBSD.org Tue Nov 18 04:30:30 2008 From: stas at FreeBSD.org (stas@FreeBSD.org) Date: Tue Nov 18 04:30:36 2008 Subject: arm/128959: [patch] Fix broken code for AT91. Message-ID: <200811181230.mAICUU5M063321@freefall.freebsd.org> Synopsis: [patch] Fix broken code for AT91. Responsible-Changed-From-To: freebsd-arm->stas Responsible-Changed-By: stas Responsible-Changed-When: Tue Nov 18 12:30:29 UTC 2008 Responsible-Changed-Why: I'll take it. http://www.freebsd.org/cgi/query-pr.cgi?pr=128959 From stas at FreeBSD.org Tue Nov 18 04:31:18 2008 From: stas at FreeBSD.org (stas@FreeBSD.org) Date: Tue Nov 18 04:31:24 2008 Subject: arm/128961: [patch] Detect main clock frequency of AT91 controller. Message-ID: <200811181231.mAICVHOO066696@freefall.freebsd.org> Synopsis: [patch] Detect main clock frequency of AT91 controller. Responsible-Changed-From-To: freebsd-arm->stas Responsible-Changed-By: stas Responsible-Changed-When: Tue Nov 18 12:31:17 UTC 2008 Responsible-Changed-Why: I'll take it. http://www.freebsd.org/cgi/query-pr.cgi?pr=128961 From bkoenig at alpha-tierchen.de Tue Nov 18 23:00:13 2008 From: bkoenig at alpha-tierchen.de (Björn König) Date: Tue Nov 18 23:00:19 2008 Subject: arm/128987: [patch] Fix at91_mci and use 1-bit mode. Message-ID: <20081119065932.1E5B328A19@home.alpha-tierchen.de> >Number: 128987 >Category: arm >Synopsis: [patch] Fix at91_mci and use 1-bit mode. >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-arm >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Nov 19 07:00:13 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Björn König >Release: >Organization: >Environment: >Description: Currently SD Cards doesn't work with the at91_mci driver for AT91RM9200. These changes will make them work: - The 4-bit mode of the never worked. Disable it for now. - Return 'caps' ivar. Probably the 4-bit mode works for other AT91 controllers. Therefore it's necessary to find a better solution. >How-To-Repeat: >Fix: --- src-sys-arm-at91-at91_mci.c.diff begins here --- diff --git src/sys/arm/at91/at91_mci.c src/sys/arm/at91/at91_mci.c index 07efc71..8e1cdeb 100644 --- src/sys/arm/at91/at91_mci.c +++ src/sys/arm/at91/at91_mci.c @@ -200,7 +200,8 @@ at91_mci_attach(device_t dev) sc->host.f_min = 375000; sc->host.f_max = 30000000; sc->host.host_ocr = MMC_OCR_320_330 | MMC_OCR_330_340; - sc->host.caps = MMC_CAP_4_BIT_DATA; +// sc->host.caps = MMC_CAP_4_BIT_DATA; + sc->host.caps = 0; child = device_add_child(dev, "mmc", 0); device_set_ivars(dev, &sc->host); err = bus_generic_attach(dev); @@ -615,6 +616,9 @@ at91_mci_read_ivar(device_t bus, device_t child, int which, u_char *result) case MMCBR_IVAR_BUS_WIDTH: *(int *)result = sc->host.ios.bus_width; break; + case MMCBR_IVAR_CAPS: + *(int *)result = sc->host.caps; + break; case MMCBR_IVAR_CHIP_SELECT: *(int *)result = sc->host.ios.chip_select; break; --- src-sys-arm-at91-at91_mci.c.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted: From bugmaster at FreeBSD.org Mon Nov 24 03:07:09 2008 From: bugmaster at FreeBSD.org (FreeBSD bugmaster) Date: Mon Nov 24 03:07:34 2008 Subject: Current problem reports assigned to freebsd-arm@FreeBSD.org Message-ID: <200811241107.mAOB78Pk019843@freefall.freebsd.org> Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o arm/128987 arm [patch] Fix at91_mci and use 1-bit mode. o arm/128897 arm [PATCH] Failture to build arm kernel with "options KTR o arm/128891 arm [PATCH] Fix for spelling error in arm machdep code 3 problems total. From PublicServicePartnershipLtd_769894 at dotmailer.co.uk Tue Nov 25 02:26:09 2008 From: PublicServicePartnershipLtd_769894 at dotmailer.co.uk (Mike Cross) Date: Tue Nov 25 02:26:24 2008 Subject: Emailing to the Public Sector Made Easy Message-ID: From imp at bsdimp.com Tue Nov 25 09:45:11 2008 From: imp at bsdimp.com (M. Warner Losh) Date: Tue Nov 25 09:45:19 2008 Subject: Code review request: boards on AT91 Message-ID: <20081125.104452.535842403.imp@bsdimp.com> I'm trying a little experiment. I'm moving the board support for the different sets of boards we support to their own file. This is the first step in moving to supporting multiple boards more easily. There's a number of gross hacks to make this work now in at91 land, and I'd like to clean them up. The mv port is much cleaner, but we still likely need some way to identify boards and get the right board support code called. In Linux land, all ARM boot loaders are expected to pass in a machine type, which is used to do the multiplexing. Something similar in FreeBSD would be useful (and not just for ARM). Eventually, I'd like to see more common code between the different arm variants. This will ease porting efforts as well as make the code more robust. If anybody wants me to write up where I'm going with this, or answer any question, please feel free to ask. Also, comments would be nice. Warner -------------- next part -------------- Index: at91/files.kb920x =================================================================== --- at91/files.kb920x (revision 185243) +++ at91/files.kb920x (working copy) @@ -1,2 +0,0 @@ -#$FreeBSD$ -arm/at91/kb920x_machdep.c standard Index: at91/kb920x_machdep.c =================================================================== --- at91/kb920x_machdep.c (revision 185243) +++ at91/kb920x_machdep.c (working copy) @@ -1,443 +0,0 @@ -/*- - * Copyright (c) 1994-1998 Mark Brinicombe. - * Copyright (c) 1994 Brini. - * All rights reserved. - * - * This code is derived from software written for Brini by Mark Brinicombe - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Brini. - * 4. The name of the company nor the name of the author may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * RiscBSD kernel project - * - * machdep.c - * - * Machine dependant functions for kernel setup - * - * This file needs a lot of work. - * - * Created : 17/09/94 - */ - -#include "opt_msgbuf.h" -#include "opt_at91.h" - -#include -__FBSDID("$FreeBSD$"); - -#define _ARM32_BUS_DMA_PRIVATE -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#define KERNEL_PT_SYS 0 /* Page table for mapping proc0 zero page */ -#define KERNEL_PT_KERN 1 -#define KERNEL_PT_KERN_NUM 22 -#define KERNEL_PT_AFKERNEL KERNEL_PT_KERN + KERNEL_PT_KERN_NUM /* L2 table for mapping after kernel */ -#define KERNEL_PT_AFKERNEL_NUM 5 - -/* this should be evenly divisable by PAGE_SIZE / L2_TABLE_SIZE_REAL (or 4) */ -#define NUM_KERNEL_PTS (KERNEL_PT_AFKERNEL + KERNEL_PT_AFKERNEL_NUM) - -/* Define various stack sizes in pages */ -#define IRQ_STACK_SIZE 1 -#define ABT_STACK_SIZE 1 -#define UND_STACK_SIZE 1 - -extern u_int data_abort_handler_address; -extern u_int prefetch_abort_handler_address; -extern u_int undefined_handler_address; - -struct pv_addr kernel_pt_table[NUM_KERNEL_PTS]; - -extern void *_end; - -extern int *end; - -struct pcpu __pcpu; -struct pcpu *pcpup = &__pcpu; - -/* Physical and virtual addresses for some global pages */ - -vm_paddr_t phys_avail[10]; -vm_paddr_t dump_avail[4]; -vm_offset_t physical_pages; - -struct pv_addr systempage; -struct pv_addr msgbufpv; -struct pv_addr irqstack; -struct pv_addr undstack; -struct pv_addr abtstack; -struct pv_addr kernelstack; - -static void *boot_arg1; -static void *boot_arg2; - -static struct trapframe proc0_tf; - -/* Static device mappings. */ -static const struct pmap_devmap kb920x_devmap[] = { - /* - * Map the on-board devices VA == PA so that we can access them - * with the MMU on or off. - */ - { - /* - * This at least maps the interrupt controller, the UART - * and the timer. Other devices should use newbus to - * map their memory anyway. - */ - 0xdff00000, - 0xfff00000, - 0x100000, - VM_PROT_READ|VM_PROT_WRITE, - PTE_NOCACHE, - }, - /* - * We can't just map the OHCI registers VA == PA, because - * AT91RM92_OHCI_BASE belongs to the userland address space. - * We could just choose a different virtual address, but a better - * solution would probably be to just use pmap_mapdev() to allocate - * KVA, as we don't need the OHCI controller before the vm - * initialization is done. However, the AT91 resource allocation - * system doesn't know how to use pmap_mapdev() yet. - */ - { - /* - * Add the ohci controller, and anything else that might be - * on this chip select for a VA/PA mapping. - */ - AT91RM92_OHCI_BASE, - AT91RM92_OHCI_PA_BASE, - AT91RM92_OHCI_SIZE, - VM_PROT_READ|VM_PROT_WRITE, - PTE_NOCACHE, - }, - { - 0, - 0, - 0, - 0, - 0, - } -}; - -static long -ramsize(void) -{ - uint32_t *SDRAMC = (uint32_t *)(AT91RM92_BASE + AT91RM92_SDRAMC_BASE); - uint32_t cr, mr; - int banks, rows, cols, bw; - - cr = SDRAMC[AT91RM92_SDRAMC_CR / 4]; - mr = SDRAMC[AT91RM92_SDRAMC_MR / 4]; - bw = (mr & AT91RM92_SDRAMC_MR_DBW_16) ? 1 : 2; - banks = (cr & AT91RM92_SDRAMC_CR_NB_4) ? 2 : 1; - rows = ((cr & AT91RM92_SDRAMC_CR_NR_MASK) >> 2) + 11; - cols = (cr & AT91RM92_SDRAMC_CR_NC_MASK) + 8; - return (1 << (cols + rows + banks + bw)); -} - -static long -board_init(void) -{ - /* - * Since the USART supports RS-485 multidrop mode, it allows the - * TX pins to float. However, for RS-232 operations, we don't want - * these pins to float. Instead, they should be pulled up to avoid - * mismatches. Linux does something similar when it configures the - * TX lines. This implies that we also allow the RX lines to float - * rather than be in the state they are left in by the boot loader. - * Since they are input pins, I think that this is the right thing - * to do. - */ - - /* PIOA's A periph: Turn USART 0 and 2's TX/RX pins */ - at91_pio_use_periph_a(AT91RM92_PIOA_BASE, - AT91C_PA18_RXD0 | AT91C_PA22_RXD2, 0); - at91_pio_use_periph_a(AT91RM92_PIOA_BASE, - AT91C_PA17_TXD0 | AT91C_PA23_TXD2, 1); - /* PIOA's B periph: Turn USART 3's TX/RX pins */ - at91_pio_use_periph_b(AT91RM92_PIOA_BASE, AT91C_PA6_RXD3, 0); - at91_pio_use_periph_b(AT91RM92_PIOA_BASE, AT91C_PA5_TXD3, 1); -#ifdef AT91_TSC - /* We're using TC0's A1 and A2 input */ - at91_pio_use_periph_b(AT91RM92_PIOA_BASE, - AT91C_PA19_TIOA1 | AT91C_PA21_TIOA2, 0); -#endif - /* PIOB's A periph: Turn USART 1's TX/RX pins */ - at91_pio_use_periph_a(AT91RM92_PIOB_BASE, AT91C_PB21_RXD1, 0); - at91_pio_use_periph_a(AT91RM92_PIOB_BASE, AT91C_PB20_TXD1, 1); - - /* Pin assignment */ -#ifdef AT91_TSC - /* Assert PA24 low -- talk to rubidium */ - at91_pio_use_gpio(AT91RM92_PIOA_BASE, AT91C_PIO_PA24); - at91_pio_gpio_output(AT91RM92_PIOA_BASE, AT91C_PIO_PA24, 0); - at91_pio_gpio_clear(AT91RM92_PIOA_BASE, AT91C_PIO_PA24); - at91_pio_use_gpio(AT91RM92_PIOB_BASE, - AT91C_PIO_PB16 | AT91C_PIO_PB17 | AT91C_PIO_PB18 | AT91C_PIO_PB19); -#endif - - return (ramsize()); -} - -void * -initarm(void *arg, void *arg2) -{ - struct pv_addr kernel_l1pt; - int loop, i; - u_int l1pagetable; - vm_offset_t freemempos; - vm_offset_t afterkern; - uint32_t memsize; - vm_offset_t lastaddr; - - boot_arg1 = arg; - boot_arg2 = arg2; - set_cpufuncs(); - lastaddr = fake_preload_metadata(); - pcpu_init(pcpup, 0, sizeof(struct pcpu)); - PCPU_SET(curthread, &thread0); - - freemempos = (lastaddr + PAGE_MASK) & ~PAGE_MASK; - /* Define a macro to simplify memory allocation */ -#define valloc_pages(var, np) \ - alloc_pages((var).pv_va, (np)); \ - (var).pv_pa = (var).pv_va + (KERNPHYSADDR - KERNVIRTADDR); - -#define alloc_pages(var, np) \ - (var) = freemempos; \ - freemempos += (np * PAGE_SIZE); \ - memset((char *)(var), 0, ((np) * PAGE_SIZE)); - - while (((freemempos - L1_TABLE_SIZE) & (L1_TABLE_SIZE - 1)) != 0) - freemempos += PAGE_SIZE; - valloc_pages(kernel_l1pt, L1_TABLE_SIZE / PAGE_SIZE); - for (loop = 0; loop < NUM_KERNEL_PTS; ++loop) { - if (!(loop % (PAGE_SIZE / L2_TABLE_SIZE_REAL))) { - valloc_pages(kernel_pt_table[loop], - L2_TABLE_SIZE / PAGE_SIZE); - } else { - kernel_pt_table[loop].pv_va = freemempos - - (loop % (PAGE_SIZE / L2_TABLE_SIZE_REAL)) * - L2_TABLE_SIZE_REAL; - kernel_pt_table[loop].pv_pa = - kernel_pt_table[loop].pv_va - KERNVIRTADDR + - KERNPHYSADDR; - } - i++; - } - /* - * Allocate a page for the system page mapped to V0x00000000 - * This page will just contain the system vectors and can be - * shared by all processes. - */ - valloc_pages(systempage, 1); - - /* Allocate stacks for all modes */ - valloc_pages(irqstack, IRQ_STACK_SIZE); - valloc_pages(abtstack, ABT_STACK_SIZE); - valloc_pages(undstack, UND_STACK_SIZE); - valloc_pages(kernelstack, KSTACK_PAGES); - valloc_pages(msgbufpv, round_page(MSGBUF_SIZE) / PAGE_SIZE); - - /* - * Now we start construction of the L1 page table - * We start by mapping the L2 page tables into the L1. - * This means that we can replace L1 mappings later on if necessary - */ - l1pagetable = kernel_l1pt.pv_va; - - /* Map the L2 pages tables in the L1 page table */ - pmap_link_l2pt(l1pagetable, ARM_VECTORS_HIGH, - &kernel_pt_table[KERNEL_PT_SYS]); - for (i = 0; i < KERNEL_PT_KERN_NUM; i++) - pmap_link_l2pt(l1pagetable, KERNBASE + i * L1_S_SIZE, - &kernel_pt_table[KERNEL_PT_KERN + i]); - pmap_map_chunk(l1pagetable, KERNBASE, PHYSADDR, - (((uint32_t)lastaddr - KERNBASE) + PAGE_SIZE) & ~(PAGE_SIZE - 1), - VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - afterkern = round_page((lastaddr + L1_S_SIZE) & ~(L1_S_SIZE - 1)); - for (i = 0; i < KERNEL_PT_AFKERNEL_NUM; i++) { - pmap_link_l2pt(l1pagetable, afterkern + i * L1_S_SIZE, - &kernel_pt_table[KERNEL_PT_AFKERNEL + i]); - } - - /* Map the vector page. */ - pmap_map_entry(l1pagetable, ARM_VECTORS_HIGH, systempage.pv_pa, - VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - /* Map the stack pages */ - pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, - IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - pmap_map_chunk(l1pagetable, abtstack.pv_va, abtstack.pv_pa, - ABT_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - pmap_map_chunk(l1pagetable, undstack.pv_va, undstack.pv_pa, - UND_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - pmap_map_chunk(l1pagetable, kernelstack.pv_va, kernelstack.pv_pa, - KSTACK_PAGES * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - - pmap_map_chunk(l1pagetable, kernel_l1pt.pv_va, kernel_l1pt.pv_pa, - L1_TABLE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); - pmap_map_chunk(l1pagetable, msgbufpv.pv_va, msgbufpv.pv_pa, - MSGBUF_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - - for (loop = 0; loop < NUM_KERNEL_PTS; ++loop) { - pmap_map_chunk(l1pagetable, kernel_pt_table[loop].pv_va, - kernel_pt_table[loop].pv_pa, L2_TABLE_SIZE, - VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); - } - - pmap_devmap_bootstrap(l1pagetable, kb920x_devmap); - cpu_domains((DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)) | DOMAIN_CLIENT); - setttb(kernel_l1pt.pv_pa); - cpu_tlb_flushID(); - cpu_domains(DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)); - cninit(); - memsize = board_init(); - physmem = memsize / PAGE_SIZE; - - /* - * Pages were allocated during the secondary bootstrap for the - * stacks for different CPU modes. - * We must now set the r13 registers in the different CPU modes to - * point to these stacks. - * Since the ARM stacks use STMFD etc. we must set r13 to the top end - * of the stack memory. - */ - cpu_control(CPU_CONTROL_MMU_ENABLE, CPU_CONTROL_MMU_ENABLE); - set_stackptr(PSR_IRQ32_MODE, - irqstack.pv_va + IRQ_STACK_SIZE * PAGE_SIZE); - set_stackptr(PSR_ABT32_MODE, - abtstack.pv_va + ABT_STACK_SIZE * PAGE_SIZE); - set_stackptr(PSR_UND32_MODE, - undstack.pv_va + UND_STACK_SIZE * PAGE_SIZE); - - /* - * We must now clean the cache again.... - * Cleaning may be done by reading new data to displace any - * dirty data in the cache. This will have happened in setttb() - * but since we are boot strapping the addresses used for the read - * may have just been remapped and thus the cache could be out - * of sync. A re-clean after the switch will cure this. - * After booting there are no gross reloations of the kernel thus - * this problem will not occur after initarm(). - */ - cpu_idcache_wbinv_all(); - - /* Set stack for exception handlers */ - - data_abort_handler_address = (u_int)data_abort_handler; - prefetch_abort_handler_address = (u_int)prefetch_abort_handler; - undefined_handler_address = (u_int)undefinedinstruction_bounce; - undefined_init(); - - proc_linkup0(&proc0, &thread0); - thread0.td_kstack = kernelstack.pv_va; - thread0.td_pcb = (struct pcb *) - (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; - thread0.td_pcb->pcb_flags = 0; - thread0.td_frame = &proc0_tf; - pcpup->pc_curpcb = thread0.td_pcb; - - arm_vector_init(ARM_VECTORS_HIGH, ARM_VEC_ALL); - - pmap_curmaxkvaddr = afterkern + L1_S_SIZE * (KERNEL_PT_KERN_NUM - 1); - - /* - * ARM_USE_SMALL_ALLOC uses dump_avail, so it must be filled before - * calling pmap_bootstrap. - */ - dump_avail[0] = PHYSADDR; - dump_avail[1] = PHYSADDR + memsize; - dump_avail[2] = 0; - dump_avail[3] = 0; - - pmap_bootstrap(freemempos, - KERNVIRTADDR + 3 * memsize, - &kernel_l1pt); - msgbufp = (void*)msgbufpv.pv_va; - msgbufinit(msgbufp, MSGBUF_SIZE); - mutex_init(); - - i = 0; -#if PHYSADDR != KERNPHYSADDR - phys_avail[i++] = PHYSADDR; - phys_avail[i++] = KERNPHYSADDR; -#endif - phys_avail[i++] = virtual_avail - KERNVIRTADDR + KERNPHYSADDR; - phys_avail[i++] = PHYSADDR + memsize; - phys_avail[i++] = 0; - phys_avail[i++] = 0; - /* Do basic tuning, hz etc */ - init_param1(); - init_param2(physmem); - kdb_init(); - return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - - sizeof(struct pcb))); -} Index: at91/at91var.h =================================================================== --- at91/at91var.h (revision 185265) +++ at91/at91var.h (working copy) @@ -43,5 +43,14 @@ struct resource_list resources; }; +/* + * These routines are used by board init routines + */ +long at91_ramsize(void); +/* + * These routines are expected to be provided by the board files. + */ +long board_init(void); + #endif /* _AT91VAR_H_ */ Index: at91/files.at91 =================================================================== --- at91/files.at91 (revision 185243) +++ at91/files.at91 (working copy) @@ -1,6 +1,7 @@ # $FreeBSD$ arm/arm/cpufunc_asm_arm9.S standard arm/arm/irq_dispatch.S standard +arm/at91/at91_machdep.c standard arm/at91/at91.c standard arm/at91/at91_st.c standard arm/at91/at91_mci.c optional at91_mci @@ -18,3 +19,8 @@ arm/at91/uart_bus_at91usart.c optional uart arm/at91/uart_cpu_at91rm9200usart.c optional uart arm/at91/uart_dev_at91usart.c optional uart +# +# All the boards we support +# +arm/at91/board_kb920x.c optional at91_board_kb920x +arm/at91/board_tsc4370.c optional at91_board_tsc4370 Index: at91/at91_machdep.c =================================================================== --- at91/at91_machdep.c (revision 185243) +++ at91/at91_machdep.c (working copy) @@ -91,6 +91,7 @@ #include #include +#include #include #include #include @@ -141,7 +142,7 @@ static struct trapframe proc0_tf; /* Static device mappings. */ -static const struct pmap_devmap kb920x_devmap[] = { +static const struct pmap_devmap at91rm9200_devmap[] = { /* * Map the on-board devices VA == PA so that we can access them * with the MMU on or off. @@ -187,8 +188,8 @@ } }; -static long -ramsize(void) +long +at91_ramsize(void) { uint32_t *SDRAMC = (uint32_t *)(AT91RM92_BASE + AT91RM92_SDRAMC_BASE); uint32_t cr, mr; @@ -203,50 +204,6 @@ return (1 << (cols + rows + banks + bw)); } -static long -board_init(void) -{ - /* - * Since the USART supports RS-485 multidrop mode, it allows the - * TX pins to float. However, for RS-232 operations, we don't want - * these pins to float. Instead, they should be pulled up to avoid - * mismatches. Linux does something similar when it configures the - * TX lines. This implies that we also allow the RX lines to float - * rather than be in the state they are left in by the boot loader. - * Since they are input pins, I think that this is the right thing - * to do. - */ - - /* PIOA's A periph: Turn USART 0 and 2's TX/RX pins */ - at91_pio_use_periph_a(AT91RM92_PIOA_BASE, - AT91C_PA18_RXD0 | AT91C_PA22_RXD2, 0); - at91_pio_use_periph_a(AT91RM92_PIOA_BASE, - AT91C_PA17_TXD0 | AT91C_PA23_TXD2, 1); - /* PIOA's B periph: Turn USART 3's TX/RX pins */ - at91_pio_use_periph_b(AT91RM92_PIOA_BASE, AT91C_PA6_RXD3, 0); - at91_pio_use_periph_b(AT91RM92_PIOA_BASE, AT91C_PA5_TXD3, 1); -#ifdef AT91_TSC - /* We're using TC0's A1 and A2 input */ - at91_pio_use_periph_b(AT91RM92_PIOA_BASE, - AT91C_PA19_TIOA1 | AT91C_PA21_TIOA2, 0); -#endif - /* PIOB's A periph: Turn USART 1's TX/RX pins */ - at91_pio_use_periph_a(AT91RM92_PIOB_BASE, AT91C_PB21_RXD1, 0); - at91_pio_use_periph_a(AT91RM92_PIOB_BASE, AT91C_PB20_TXD1, 1); - - /* Pin assignment */ -#ifdef AT91_TSC - /* Assert PA24 low -- talk to rubidium */ - at91_pio_use_gpio(AT91RM92_PIOA_BASE, AT91C_PIO_PA24); - at91_pio_gpio_output(AT91RM92_PIOA_BASE, AT91C_PIO_PA24, 0); - at91_pio_gpio_clear(AT91RM92_PIOA_BASE, AT91C_PIO_PA24); - at91_pio_use_gpio(AT91RM92_PIOB_BASE, - AT91C_PIO_PB16 | AT91C_PIO_PB17 | AT91C_PIO_PB18 | AT91C_PIO_PB19); -#endif - - return (ramsize()); -} - void * initarm(void *arg, void *arg2) { @@ -353,7 +310,7 @@ VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); } - pmap_devmap_bootstrap(l1pagetable, kb920x_devmap); + pmap_devmap_bootstrap(l1pagetable, at91rm9200_devmap); cpu_domains((DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)) | DOMAIN_CLIENT); setttb(kernel_l1pt.pv_pa); cpu_tlb_flushID(); Property changes on: at91/at91_machdep.c ___________________________________________________________________ Added: svn:mergeinfo Index: at91/board_kb920x.c =================================================================== --- at91/board_kb920x.c (revision 185243) +++ at91/board_kb920x.c (working copy) @@ -1,10 +1,7 @@ /*- - * Copyright (c) 1994-1998 Mark Brinicombe. - * Copyright (c) 1994 Brini. - * All rights reserved. + * Copyright (c) 2005-2008 Olivier Houchard. All rights reserved. + * Copyright (c) 2005-2008 Warner Losh. All rights reserved. * - * This code is derived from software written for Brini by Mark Brinicombe - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -13,197 +10,33 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Brini. - * 4. The name of the company nor the name of the author may be used to - * endorse or promote products derived from this software without specific - * prior written permission. * - * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. - * - * RiscBSD kernel project - * - * machdep.c - * - * Machine dependant functions for kernel setup - * - * This file needs a lot of work. - * - * Created : 17/09/94 */ -#include "opt_msgbuf.h" #include "opt_at91.h" #include __FBSDID("$FreeBSD$"); - -#define _ARM32_BUS_DMA_PRIVATE #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - +#include #include #include #include -#define KERNEL_PT_SYS 0 /* Page table for mapping proc0 zero page */ -#define KERNEL_PT_KERN 1 -#define KERNEL_PT_KERN_NUM 22 -#define KERNEL_PT_AFKERNEL KERNEL_PT_KERN + KERNEL_PT_KERN_NUM /* L2 table for mapping after kernel */ -#define KERNEL_PT_AFKERNEL_NUM 5 - -/* this should be evenly divisable by PAGE_SIZE / L2_TABLE_SIZE_REAL (or 4) */ -#define NUM_KERNEL_PTS (KERNEL_PT_AFKERNEL + KERNEL_PT_AFKERNEL_NUM) - -/* Define various stack sizes in pages */ -#define IRQ_STACK_SIZE 1 -#define ABT_STACK_SIZE 1 -#define UND_STACK_SIZE 1 - -extern u_int data_abort_handler_address; -extern u_int prefetch_abort_handler_address; -extern u_int undefined_handler_address; - -struct pv_addr kernel_pt_table[NUM_KERNEL_PTS]; - -extern void *_end; - -extern int *end; - -struct pcpu __pcpu; -struct pcpu *pcpup = &__pcpu; - -/* Physical and virtual addresses for some global pages */ - -vm_paddr_t phys_avail[10]; -vm_paddr_t dump_avail[4]; -vm_offset_t physical_pages; - -struct pv_addr systempage; -struct pv_addr msgbufpv; -struct pv_addr irqstack; -struct pv_addr undstack; -struct pv_addr abtstack; -struct pv_addr kernelstack; - -static void *boot_arg1; -static void *boot_arg2; - -static struct trapframe proc0_tf; - -/* Static device mappings. */ -static const struct pmap_devmap kb920x_devmap[] = { - /* - * Map the on-board devices VA == PA so that we can access them - * with the MMU on or off. - */ - { - /* - * This at least maps the interrupt controller, the UART - * and the timer. Other devices should use newbus to - * map their memory anyway. - */ - 0xdff00000, - 0xfff00000, - 0x100000, - VM_PROT_READ|VM_PROT_WRITE, - PTE_NOCACHE, - }, - /* - * We can't just map the OHCI registers VA == PA, because - * AT91RM92_OHCI_BASE belongs to the userland address space. - * We could just choose a different virtual address, but a better - * solution would probably be to just use pmap_mapdev() to allocate - * KVA, as we don't need the OHCI controller before the vm - * initialization is done. However, the AT91 resource allocation - * system doesn't know how to use pmap_mapdev() yet. - */ - { - /* - * Add the ohci controller, and anything else that might be - * on this chip select for a VA/PA mapping. - */ - AT91RM92_OHCI_BASE, - AT91RM92_OHCI_PA_BASE, - AT91RM92_OHCI_SIZE, - VM_PROT_READ|VM_PROT_WRITE, - PTE_NOCACHE, - }, - { - 0, - 0, - 0, - 0, - 0, - } -}; - -static long -ramsize(void) -{ - uint32_t *SDRAMC = (uint32_t *)(AT91RM92_BASE + AT91RM92_SDRAMC_BASE); - uint32_t cr, mr; - int banks, rows, cols, bw; - - cr = SDRAMC[AT91RM92_SDRAMC_CR / 4]; - mr = SDRAMC[AT91RM92_SDRAMC_MR / 4]; - bw = (mr & AT91RM92_SDRAMC_MR_DBW_16) ? 1 : 2; - banks = (cr & AT91RM92_SDRAMC_CR_NB_4) ? 2 : 1; - rows = ((cr & AT91RM92_SDRAMC_CR_NR_MASK) >> 2) + 11; - cols = (cr & AT91RM92_SDRAMC_CR_NC_MASK) + 8; - return (1 << (cols + rows + banks + bw)); -} - -static long +long board_init(void) { /* @@ -244,200 +77,5 @@ AT91C_PIO_PB16 | AT91C_PIO_PB17 | AT91C_PIO_PB18 | AT91C_PIO_PB19); #endif - return (ramsize()); + return (at91_ramsize()); } - -void * -initarm(void *arg, void *arg2) -{ - struct pv_addr kernel_l1pt; - int loop, i; - u_int l1pagetable; - vm_offset_t freemempos; - vm_offset_t afterkern; - uint32_t memsize; - vm_offset_t lastaddr; - - boot_arg1 = arg; - boot_arg2 = arg2; - set_cpufuncs(); - lastaddr = fake_preload_metadata(); - pcpu_init(pcpup, 0, sizeof(struct pcpu)); - PCPU_SET(curthread, &thread0); - - freemempos = (lastaddr + PAGE_MASK) & ~PAGE_MASK; - /* Define a macro to simplify memory allocation */ -#define valloc_pages(var, np) \ - alloc_pages((var).pv_va, (np)); \ - (var).pv_pa = (var).pv_va + (KERNPHYSADDR - KERNVIRTADDR); - -#define alloc_pages(var, np) \ - (var) = freemempos; \ - freemempos += (np * PAGE_SIZE); \ - memset((char *)(var), 0, ((np) * PAGE_SIZE)); - - while (((freemempos - L1_TABLE_SIZE) & (L1_TABLE_SIZE - 1)) != 0) - freemempos += PAGE_SIZE; - valloc_pages(kernel_l1pt, L1_TABLE_SIZE / PAGE_SIZE); - for (loop = 0; loop < NUM_KERNEL_PTS; ++loop) { - if (!(loop % (PAGE_SIZE / L2_TABLE_SIZE_REAL))) { - valloc_pages(kernel_pt_table[loop], - L2_TABLE_SIZE / PAGE_SIZE); - } else { - kernel_pt_table[loop].pv_va = freemempos - - (loop % (PAGE_SIZE / L2_TABLE_SIZE_REAL)) * - L2_TABLE_SIZE_REAL; - kernel_pt_table[loop].pv_pa = - kernel_pt_table[loop].pv_va - KERNVIRTADDR + - KERNPHYSADDR; - } - i++; - } - /* - * Allocate a page for the system page mapped to V0x00000000 - * This page will just contain the system vectors and can be - * shared by all processes. - */ - valloc_pages(systempage, 1); - - /* Allocate stacks for all modes */ - valloc_pages(irqstack, IRQ_STACK_SIZE); - valloc_pages(abtstack, ABT_STACK_SIZE); - valloc_pages(undstack, UND_STACK_SIZE); - valloc_pages(kernelstack, KSTACK_PAGES); - valloc_pages(msgbufpv, round_page(MSGBUF_SIZE) / PAGE_SIZE); - - /* - * Now we start construction of the L1 page table - * We start by mapping the L2 page tables into the L1. - * This means that we can replace L1 mappings later on if necessary - */ - l1pagetable = kernel_l1pt.pv_va; - - /* Map the L2 pages tables in the L1 page table */ - pmap_link_l2pt(l1pagetable, ARM_VECTORS_HIGH, - &kernel_pt_table[KERNEL_PT_SYS]); - for (i = 0; i < KERNEL_PT_KERN_NUM; i++) - pmap_link_l2pt(l1pagetable, KERNBASE + i * L1_S_SIZE, - &kernel_pt_table[KERNEL_PT_KERN + i]); - pmap_map_chunk(l1pagetable, KERNBASE, PHYSADDR, - (((uint32_t)lastaddr - KERNBASE) + PAGE_SIZE) & ~(PAGE_SIZE - 1), - VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - afterkern = round_page((lastaddr + L1_S_SIZE) & ~(L1_S_SIZE - 1)); - for (i = 0; i < KERNEL_PT_AFKERNEL_NUM; i++) { - pmap_link_l2pt(l1pagetable, afterkern + i * L1_S_SIZE, - &kernel_pt_table[KERNEL_PT_AFKERNEL + i]); - } - - /* Map the vector page. */ - pmap_map_entry(l1pagetable, ARM_VECTORS_HIGH, systempage.pv_pa, - VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - /* Map the stack pages */ - pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa, - IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - pmap_map_chunk(l1pagetable, abtstack.pv_va, abtstack.pv_pa, - ABT_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - pmap_map_chunk(l1pagetable, undstack.pv_va, undstack.pv_pa, - UND_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - pmap_map_chunk(l1pagetable, kernelstack.pv_va, kernelstack.pv_pa, - KSTACK_PAGES * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - - pmap_map_chunk(l1pagetable, kernel_l1pt.pv_va, kernel_l1pt.pv_pa, - L1_TABLE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); - pmap_map_chunk(l1pagetable, msgbufpv.pv_va, msgbufpv.pv_pa, - MSGBUF_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE); - - for (loop = 0; loop < NUM_KERNEL_PTS; ++loop) { - pmap_map_chunk(l1pagetable, kernel_pt_table[loop].pv_va, - kernel_pt_table[loop].pv_pa, L2_TABLE_SIZE, - VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE); - } - - pmap_devmap_bootstrap(l1pagetable, kb920x_devmap); - cpu_domains((DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)) | DOMAIN_CLIENT); - setttb(kernel_l1pt.pv_pa); - cpu_tlb_flushID(); - cpu_domains(DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)); - cninit(); - memsize = board_init(); - physmem = memsize / PAGE_SIZE; - - /* - * Pages were allocated during the secondary bootstrap for the - * stacks for different CPU modes. - * We must now set the r13 registers in the different CPU modes to - * point to these stacks. - * Since the ARM stacks use STMFD etc. we must set r13 to the top end - * of the stack memory. - */ - cpu_control(CPU_CONTROL_MMU_ENABLE, CPU_CONTROL_MMU_ENABLE); - set_stackptr(PSR_IRQ32_MODE, - irqstack.pv_va + IRQ_STACK_SIZE * PAGE_SIZE); - set_stackptr(PSR_ABT32_MODE, - abtstack.pv_va + ABT_STACK_SIZE * PAGE_SIZE); - set_stackptr(PSR_UND32_MODE, - undstack.pv_va + UND_STACK_SIZE * PAGE_SIZE); - - /* - * We must now clean the cache again.... - * Cleaning may be done by reading new data to displace any - * dirty data in the cache. This will have happened in setttb() - * but since we are boot strapping the addresses used for the read - * may have just been remapped and thus the cache could be out - * of sync. A re-clean after the switch will cure this. - * After booting there are no gross reloations of the kernel thus - * this problem will not occur after initarm(). - */ - cpu_idcache_wbinv_all(); - - /* Set stack for exception handlers */ - - data_abort_handler_address = (u_int)data_abort_handler; - prefetch_abort_handler_address = (u_int)prefetch_abort_handler; - undefined_handler_address = (u_int)undefinedinstruction_bounce; - undefined_init(); - - proc_linkup0(&proc0, &thread0); - thread0.td_kstack = kernelstack.pv_va; - thread0.td_pcb = (struct pcb *) - (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; - thread0.td_pcb->pcb_flags = 0; - thread0.td_frame = &proc0_tf; - pcpup->pc_curpcb = thread0.td_pcb; - - arm_vector_init(ARM_VECTORS_HIGH, ARM_VEC_ALL); - - pmap_curmaxkvaddr = afterkern + L1_S_SIZE * (KERNEL_PT_KERN_NUM - 1); - - /* - * ARM_USE_SMALL_ALLOC uses dump_avail, so it must be filled before - * calling pmap_bootstrap. - */ - dump_avail[0] = PHYSADDR; - dump_avail[1] = PHYSADDR + memsize; - dump_avail[2] = 0; - dump_avail[3] = 0; - - pmap_bootstrap(freemempos, - KERNVIRTADDR + 3 * memsize, - &kernel_l1pt); - msgbufp = (void*)msgbufpv.pv_va; - msgbufinit(msgbufp, MSGBUF_SIZE); - mutex_init(); - - i = 0; -#if PHYSADDR != KERNPHYSADDR - phys_avail[i++] = PHYSADDR; - phys_avail[i++] = KERNPHYSADDR; -#endif - phys_avail[i++] = virtual_avail - KERNVIRTADDR + KERNPHYSADDR; - phys_avail[i++] = PHYSADDR + memsize; - phys_avail[i++] = 0; - phys_avail[i++] = 0; - /* Do basic tuning, hz etc */ - init_param1(); - init_param2(physmem); - kdb_init(); - return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP - - sizeof(struct pcb))); -} Property changes on: at91/board_kb920x.c ___________________________________________________________________ Added: svn:mergeinfo Index: at91/std.kb920x =================================================================== --- at91/std.kb920x (revision 185243) +++ at91/std.kb920x (working copy) @@ -1,9 +1,11 @@ #$FreeBSD$ include "../at91/std.at91" -files "../at91/files.kb920x" options STARTUP_PAGETABLE_ADDR=0x20800000 makeoptions KERNPHYSADDR=0x20000000 makeoptions KERNVIRTADDR=0xc0000000 options KERNPHYSADDR=0x20000000 options KERNVIRTADDR=0xc0000000 + +#options AT91_BOARD_KB920X +device at91_board_kb920x From imp at bsdimp.com Tue Nov 25 10:36:29 2008 From: imp at bsdimp.com (M. Warner Losh) Date: Tue Nov 25 10:36:35 2008 Subject: Code review request: boards on AT91 In-Reply-To: <20081125212409.3dab8178.stas@FreeBSD.org> References: <20081125.104452.535842403.imp@bsdimp.com> <20081125212409.3dab8178.stas@FreeBSD.org> Message-ID: <20081125.113647.1346821827.imp@bsdimp.com> In message: <20081125212409.3dab8178.stas@FreeBSD.org> Stanislav Sedov writes: : -----BEGIN PGP SIGNED MESSAGE----- : Hash: SHA1 : : On Tue, 25 Nov 2008 10:44:52 -0700 (MST) : "M. Warner Losh" mentioned: : : > I'm trying a little experiment. I'm moving the board support for the : > different sets of boards we support to their own file. This is the : > first step in moving to supporting multiple boards more easily. : > There's a number of gross hacks to make this work now in at91 land, : > and I'd like to clean them up. The mv port is much cleaner, but we : > still likely need some way to identify boards and get the right board : > support code called. In Linux land, all ARM boot loaders are expected : > to pass in a machine type, which is used to do the multiplexing. : > Something similar in FreeBSD would be useful (and not just for ARM). : > : > Eventually, I'd like to see more common code between the different arm : > variants. This will ease porting efforts as well as make the code : > more robust. : : I think we could pass the board type via a special kenv variable : for now. I think it will work fine and applicable to all supported : architectures. We could probably reuse board type constants that Linux : kernel uses. Right now that's passed in from uboot and other loaders in I think r3, but I'd have to go look at some other code to be sure. : > If anybody wants me to write up where I'm going with this, or answer : > any question, please feel free to ask. Also, comments would be nice. : > : > Warner : > : : The code looks OK to me. I have only one question: why you have added : a commented out AT91_BOARD_KB920X option to the default kernel config? : Is it just a leftover? Leftover. Forgot the basics of kernel config for a moment. Warner : - -- : Stanislav Sedov : ST4096-RIPE : -----BEGIN PGP SIGNATURE----- : : iEYEARECAAYFAkksQs0ACgkQK/VZk+smlYFntwCfbHv6JJmTjzI6GL5Ra1k4nA2a : nGAAn06uoskVCyZ2E5eFkTtQQ7eXnmz0 : =xuFv : -----END PGP SIGNATURE----- : : From stas at FreeBSD.org Tue Nov 25 10:59:19 2008 From: stas at FreeBSD.org (Stanislav Sedov) Date: Tue Nov 25 10:59:26 2008 Subject: Code review request: boards on AT91 In-Reply-To: <20081125.113647.1346821827.imp@bsdimp.com> References: <20081125.104452.535842403.imp@bsdimp.com> <20081125212409.3dab8178.stas@FreeBSD.org> <20081125.113647.1346821827.imp@bsdimp.com> Message-ID: <20081125220040.c8996e0b.stas@FreeBSD.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, 25 Nov 2008 11:36:47 -0700 (MST) "M. Warner Losh" mentioned: > : > : I think we could pass the board type via a special kenv variable > : for now. I think it will work fine and applicable to all supported > : architectures. We could probably reuse board type constants that Linux > : kernel uses. > > Right now that's passed in from uboot and other loaders in I think r3, > but I'd have to go look at some other code to be sure. > Well, I don't think we want to follow The Linux kernel argument passing paradigm... But using a simple kenv variable would be just fine. We have a patch ready for kenv/hints support in u-boot and in our arm port, and our loader could be used on arm with Rafal's u-boot API. - -- Stanislav Sedov ST4096-RIPE -----BEGIN PGP SIGNATURE----- iEYEARECAAYFAkksS1gACgkQK/VZk+smlYFbXgCeIjnGNdYD6bdCxCSQFR4hVrdr NxQAn20bqjk7Ln+XjScOlEiaoJ1NNBbQ =UT0L -----END PGP SIGNATURE----- From stas at FreeBSD.org Tue Nov 25 11:01:32 2008 From: stas at FreeBSD.org (Stanislav Sedov) Date: Tue Nov 25 11:01:39 2008 Subject: Code review request: boards on AT91 In-Reply-To: <20081125.104452.535842403.imp@bsdimp.com> References: <20081125.104452.535842403.imp@bsdimp.com> Message-ID: <20081125212409.3dab8178.stas@FreeBSD.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, 25 Nov 2008 10:44:52 -0700 (MST) "M. Warner Losh" mentioned: > I'm trying a little experiment. I'm moving the board support for the > different sets of boards we support to their own file. This is the > first step in moving to supporting multiple boards more easily. > There's a number of gross hacks to make this work now in at91 land, > and I'd like to clean them up. The mv port is much cleaner, but we > still likely need some way to identify boards and get the right board > support code called. In Linux land, all ARM boot loaders are expected > to pass in a machine type, which is used to do the multiplexing. > Something similar in FreeBSD would be useful (and not just for ARM). > > Eventually, I'd like to see more common code between the different arm > variants. This will ease porting efforts as well as make the code > more robust. I think we could pass the board type via a special kenv variable for now. I think it will work fine and applicable to all supported architectures. We could probably reuse board type constants that Linux kernel uses. > > If anybody wants me to write up where I'm going with this, or answer > any question, please feel free to ask. Also, comments would be nice. > > Warner > The code looks OK to me. I have only one question: why you have added a commented out AT91_BOARD_KB920X option to the default kernel config? Is it just a leftover? - -- Stanislav Sedov ST4096-RIPE -----BEGIN PGP SIGNATURE----- iEYEARECAAYFAkksQs0ACgkQK/VZk+smlYFntwCfbHv6JJmTjzI6GL5Ra1k4nA2a nGAAn06uoskVCyZ2E5eFkTtQQ7eXnmz0 =xuFv -----END PGP SIGNATURE----- From imp at bsdimp.com Tue Nov 25 11:06:19 2008 From: imp at bsdimp.com (M. Warner Losh) Date: Tue Nov 25 11:06:24 2008 Subject: Code review request: boards on AT91 In-Reply-To: <20081125220040.c8996e0b.stas@FreeBSD.org> References: <20081125212409.3dab8178.stas@FreeBSD.org> <20081125.113647.1346821827.imp@bsdimp.com> <20081125220040.c8996e0b.stas@FreeBSD.org> Message-ID: <20081125.120523.-201316873.imp@bsdimp.com> In message: <20081125220040.c8996e0b.stas@FreeBSD.org> Stanislav Sedov writes: : -----BEGIN PGP SIGNED MESSAGE----- : Hash: SHA1 : : On Tue, 25 Nov 2008 11:36:47 -0700 (MST) : "M. Warner Losh" mentioned: : : > : : > : I think we could pass the board type via a special kenv variable : > : for now. I think it will work fine and applicable to all supported : > : architectures. We could probably reuse board type constants that Linux : > : kernel uses. : > : > Right now that's passed in from uboot and other loaders in I think r3, : > but I'd have to go look at some other code to be sure. : > : : Well, I don't think we want to follow The Linux kernel argument passing : paradigm... But using a simple kenv variable would be just fine. : We have a patch ready for kenv/hints support in u-boot and in : our arm port, and our loader could be used on arm with Rafal's : u-boot API. You are assuming that /boot/loader is always used. In the cases where it isn't, we need that value from r3. when it is, a kenv could be used. This switching likely also needs to be configurable more easily than it is now. Warner From stas at FreeBSD.org Tue Nov 25 11:21:34 2008 From: stas at FreeBSD.org (Stanislav Sedov) Date: Tue Nov 25 11:21:39 2008 Subject: Code review request: boards on AT91 In-Reply-To: <20081125.120523.-201316873.imp@bsdimp.com> References: <20081125212409.3dab8178.stas@FreeBSD.org> <20081125.113647.1346821827.imp@bsdimp.com> <20081125220040.c8996e0b.stas@FreeBSD.org> <20081125.120523.-201316873.imp@bsdimp.com> Message-ID: <20081125222258.8db7b61e.stas@FreeBSD.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, 25 Nov 2008 12:05:23 -0700 (MST) "M. Warner Losh" mentioned: > In message: <20081125220040.c8996e0b.stas@FreeBSD.org> > Stanislav Sedov writes: > : -----BEGIN PGP SIGNED MESSAGE----- > : Hash: SHA1 > : > : On Tue, 25 Nov 2008 11:36:47 -0700 (MST) > : "M. Warner Losh" mentioned: > : > : > : > : > : I think we could pass the board type via a special kenv variable > : > : for now. I think it will work fine and applicable to all supported > : > : architectures. We could probably reuse board type constants that Linux > : > : kernel uses. > : > > : > Right now that's passed in from uboot and other loaders in I think r3, > : > but I'd have to go look at some other code to be sure. > : > > : > : Well, I don't think we want to follow The Linux kernel argument passing > : paradigm... But using a simple kenv variable would be just fine. > : We have a patch ready for kenv/hints support in u-boot and in > : our arm port, and our loader could be used on arm with Rafal's > : u-boot API. > > You are assuming that /boot/loader is always used. In the cases where > it isn't, we need that value from r3. when it is, a kenv could be > used. This switching likely also needs to be configurable more easily > than it is now. We can't support all bootloaders on the Earth, and I think it's the job of bootloader to support the kernel it booting. Linux also mandates it's own argument passing mechanism method should be used, and doesn't support anything else. As we're using kenv for this task, and no well-accepted generic multiplatform method yet available, I think we could stick with kenv for now. I don't see the reason to complicate our kernel code more to support several argument passing methods. - -- Stanislav Sedov ST4096-RIPE -----BEGIN PGP SIGNATURE----- iEYEARECAAYFAkksUJIACgkQK/VZk+smlYEH0QCfe0HJmSsT1BMw3PTpHP8Ypp5R 2yQAn2A35phywDjk/Wzy0ur92DYQhOCe =eMzh -----END PGP SIGNATURE----- From imp at bsdimp.com Tue Nov 25 11:33:09 2008 From: imp at bsdimp.com (M. Warner Losh) Date: Tue Nov 25 11:33:15 2008 Subject: Code review request: boards on AT91 In-Reply-To: <20081125222258.8db7b61e.stas@FreeBSD.org> References: <20081125220040.c8996e0b.stas@FreeBSD.org> <20081125.120523.-201316873.imp@bsdimp.com> <20081125222258.8db7b61e.stas@FreeBSD.org> Message-ID: <20081125.123321.-1435626397.imp@bsdimp.com> In message: <20081125222258.8db7b61e.stas@FreeBSD.org> Stanislav Sedov writes: : -----BEGIN PGP SIGNED MESSAGE----- : Hash: SHA1 : : On Tue, 25 Nov 2008 12:05:23 -0700 (MST) : "M. Warner Losh" mentioned: : : > In message: <20081125220040.c8996e0b.stas@FreeBSD.org> : > Stanislav Sedov writes: : > : -----BEGIN PGP SIGNED MESSAGE----- : > : Hash: SHA1 : > : : > : On Tue, 25 Nov 2008 11:36:47 -0700 (MST) : > : "M. Warner Losh" mentioned: : > : : > : > : : > : > : I think we could pass the board type via a special kenv variable : > : > : for now. I think it will work fine and applicable to all supported : > : > : architectures. We could probably reuse board type constants that Linux : > : > : kernel uses. : > : > : > : > Right now that's passed in from uboot and other loaders in I think r3, : > : > but I'd have to go look at some other code to be sure. : > : > : > : : > : Well, I don't think we want to follow The Linux kernel argument passing : > : paradigm... But using a simple kenv variable would be just fine. : > : We have a patch ready for kenv/hints support in u-boot and in : > : our arm port, and our loader could be used on arm with Rafal's : > : u-boot API. : > : > You are assuming that /boot/loader is always used. In the cases where : > it isn't, we need that value from r3. when it is, a kenv could be : > used. This switching likely also needs to be configurable more easily : > than it is now. : : We can't support all bootloaders on the Earth, and I think it's the job : of bootloader to support the kernel it booting. Linux also mandates it's : own argument passing mechanism method should be used, and doesn't support : anything else. Actually, Linux supports a bunch of different argument passing mechanisms. redboot differs from uboot differs from a number of other, platform specific boot loaders. They have a generic way to support boot loaders, and I think we should at least investigate it. : As we're using kenv for this task, and no well-accepted : generic multiplatform method yet available, I think we could stick with : kenv for now. I don't see the reason to complicate our kernel code more : to support several argument passing methods. We don't universally use it. It is used in the mv code, but not in the at91 code. The at91 boot loader just passes one variable in now, but there's a fair number of different boot loaders today for FreeBSD/arm. While it would be nice to mandate all the world use uboot + /boot/loader, that's not likely going to happen. There's too many boards out there that have redboot or some custom boot loader that will be hard to replace... I guess what I'm trying to say is that the current mechanisms we're using are all over the map, and we need to clean it up so that it is easy to swap different types of boot loaders in. Warner From stas at FreeBSD.org Tue Nov 25 11:44:04 2008 From: stas at FreeBSD.org (Stanislav Sedov) Date: Tue Nov 25 11:44:10 2008 Subject: Code review request: boards on AT91 In-Reply-To: <20081125.123321.-1435626397.imp@bsdimp.com> References: <20081125220040.c8996e0b.stas@FreeBSD.org> <20081125.120523.-201316873.imp@bsdimp.com> <20081125222258.8db7b61e.stas@FreeBSD.org> <20081125.123321.-1435626397.imp@bsdimp.com> Message-ID: <20081125224528.4395ff7e.stas@FreeBSD.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, 25 Nov 2008 12:33:21 -0700 (MST) "M. Warner Losh" mentioned: > We don't universally use it. It is used in the mv code, but not in > the at91 code. The at91 boot loader just passes one variable in now, Just a matter of time:-) As I said we have the patch almost ready, and it works for us with u-boot. I'll commit it shortly. > but there's a fair number of different boot loaders today for > FreeBSD/arm. While it would be nice to mandate all the world use > uboot + /boot/loader, that's not likely going to happen. There's too > many boards out there that have redboot or some custom boot loader > that will be hard to replace... In that cases loader(8) could be used. > I guess what I'm trying to say is that the current mechanisms we're > using are all over the map, and we need to clean it up so that it is > easy to swap different types of boot loaders in. Agree. At least, for some architectures the kernel config option could be added to switch between bootloader support. It'd be hard to make this in the platform independent code... - -- Stanislav Sedov ST4096-RIPE -----BEGIN PGP SIGNATURE----- iEYEARECAAYFAkksVdgACgkQK/VZk+smlYHoCwCaAiPD78tzIsVJVvNnmPIabGpg 6I0AnjZZ/Ayl2ehUsil/U6J/HfdtpI/7 =lFD4 -----END PGP SIGNATURE----- From imp at bsdimp.com Tue Nov 25 12:00:14 2008 From: imp at bsdimp.com (M. Warner Losh) Date: Tue Nov 25 12:00:21 2008 Subject: Code review request: boards on AT91 In-Reply-To: <20081125224528.4395ff7e.stas@FreeBSD.org> References: <20081125222258.8db7b61e.stas@FreeBSD.org> <20081125.123321.-1435626397.imp@bsdimp.com> <20081125224528.4395ff7e.stas@FreeBSD.org> Message-ID: <20081125.130021.1210474290.imp@bsdimp.com> In message: <20081125224528.4395ff7e.stas@FreeBSD.org> Stanislav Sedov writes: : -----BEGIN PGP SIGNED MESSAGE----- : Hash: SHA1 : : On Tue, 25 Nov 2008 12:33:21 -0700 (MST) : "M. Warner Losh" mentioned: : : : > We don't universally use it. It is used in the mv code, but not in : > the at91 code. The at91 boot loader just passes one variable in now, : : Just a matter of time:-) As I said we have the patch almost ready, : and it works for us with u-boot. I'll commit it shortly. So long as it is optional. The KB9202 boards that I have don't have room for uboot or redboot. You have 16kb of space, which boot2 fits nicely into right now (clocking in at about 9.5k). : > but there's a fair number of different boot loaders today for : > FreeBSD/arm. While it would be nice to mandate all the world use : > uboot + /boot/loader, that's not likely going to happen. There's too : > many boards out there that have redboot or some custom boot loader : > that will be hard to replace... : : In that cases loader(8) could be used. Not always. That's the point that I keep coming back to. There's no easy way to make loader read things from disks, over the network, etc in the embedded space. Right now for some uboot based systems, this can be done, but for redboot systems, you are basically out of luck. There's no way that loader(8) can load additional sections without a lot of board specific code. : > I guess what I'm trying to say is that the current mechanisms we're : > using are all over the map, and we need to clean it up so that it is : > easy to swap different types of boot loaders in. : : Agree. At least, for some architectures the kernel config option could : be added to switch between bootloader support. It'd be hard to make : this in the platform independent code... Yes. There's some things that can be common, but there will always be machine dependent code. uboot, redboot and cfe all are multiplatform. Warner From stas at FreeBSD.org Tue Nov 25 12:45:32 2008 From: stas at FreeBSD.org (Stanislav Sedov) Date: Tue Nov 25 12:45:38 2008 Subject: Code review request: boards on AT91 In-Reply-To: <20081125.130021.1210474290.imp@bsdimp.com> References: <20081125222258.8db7b61e.stas@FreeBSD.org> <20081125.123321.-1435626397.imp@bsdimp.com> <20081125224528.4395ff7e.stas@FreeBSD.org> <20081125.130021.1210474290.imp@bsdimp.com> Message-ID: <20081125234656.e1820a12.stas@FreeBSD.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, 25 Nov 2008 13:00:21 -0700 (MST) "M. Warner Losh" mentioned: > > So long as it is optional. The KB9202 boards that I have don't have > room for uboot or redboot. You have 16kb of space, which boot2 fits > nicely into right now (clocking in at about 9.5k). > Have it got parallel or SPI flash? My board boots u-boot directly from parallel flash on start. > : > but there's a fair number of different boot loaders today for > : > FreeBSD/arm. While it would be nice to mandate all the world use > : > uboot + /boot/loader, that's not likely going to happen. There's too > : > many boards out there that have redboot or some custom boot loader > : > that will be hard to replace... > : > : In that cases loader(8) could be used. > > Not always. That's the point that I keep coming back to. There's no > easy way to make loader read things from disks, over the network, etc > in the embedded space. Right now for some uboot based systems, this > can be done, but for redboot systems, you are basically out of luck. > There's no way that loader(8) can load additional sections without a > lot of board specific code. > I see your point. If there's no room for extending/replacing you have to live with what the board has:-( - -- Stanislav Sedov ST4096-RIPE -----BEGIN PGP SIGNATURE----- iEYEARECAAYFAkksZEAACgkQK/VZk+smlYG6qQCfbl3UpJRGLLtRjeeDQ/jquqqL 1iIAnRmJSqbS54rCLmr8j8/AzRfCfiZF =QIya -----END PGP SIGNATURE----- From imp at bsdimp.com Tue Nov 25 13:20:39 2008 From: imp at bsdimp.com (M. Warner Losh) Date: Tue Nov 25 13:20:46 2008 Subject: Code review request: boards on AT91 In-Reply-To: <04BDAB4F-CF02-4CE6-90D8-E03EDC1CC8CC@semihalf.com> References: <20081125.104452.535842403.imp@bsdimp.com> <04BDAB4F-CF02-4CE6-90D8-E03EDC1CC8CC@semihalf.com> Message-ID: <20081125.141957.1723235268.imp@bsdimp.com> In message: <04BDAB4F-CF02-4CE6-90D8-E03EDC1CC8CC@semihalf.com> Rafa?_Jaworowski writes: : On 2008-11-25, at 18:44, M. Warner Losh wrote: : : > I'm trying a little experiment. I'm moving the board support for the : > different sets of boards we support to their own file. This is the : > first step in moving to supporting multiple boards more easily. : > There's a number of gross hacks to make this work now in at91 land, : > and I'd like to clean them up. The mv port is much cleaner, but we : > still likely need some way to identify boards and get the right board : > support code called. In Linux land, all ARM boot loaders are expected : > to pass in a machine type, which is used to do the multiplexing. : > Something similar in FreeBSD would be useful (and not just for ARM). : : Hi Warner, : While I understand your point about systems with simplistic : bootloaders, which cannot provide enough config data to kernel, we : should not see the machine ID model as a final solution for more : capable environments. I guess we all agree that for those more capable : systems we need some really extensible mechanism (device tree type), : as discussed previously :-) Yes. Agreed. My point was more to make sure that we didn't require the loader to provide freebsd-specific kenv. : > If anybody wants me to write up where I'm going with this, or answer : > any question, please feel free to ask. Also, comments would be nice. : : I was dreaming once about all-generic initarm() that would have KOBJ- : based dispatcher, but am not sure this wouldn't cause some chicken-and- : egg issues as some parts of the infrastructure might not be available : at such early stages, but didn't investigate this too close, any : thoughts? But anyways, even a simple scheme with common logic and : function ptrs, which each platform variation would implement their own : routines (or use generic), would improve the ARM init code : significantly. Yes. There's much duplication of code now, and I'd love to work towards ways of coping with less duplication. I'd also like to see the ability to compile code either for multi-board support, or just a single board support. For the moment, I'd like to take the first step and get to have the latter... The Marvell/Orion stuff has a much better separation, but still needs some tweaks for board level support. I think I'm going to write up what I've done and put it on a wiki and then ask if you could review it and see if your experience with the Marvell implementation could help refine it. Warner From imp at bsdimp.com Tue Nov 25 13:24:31 2008 From: imp at bsdimp.com (M. Warner Losh) Date: Tue Nov 25 13:24:37 2008 Subject: Code review request: boards on AT91 In-Reply-To: <20081125234656.e1820a12.stas@FreeBSD.org> References: <20081125224528.4395ff7e.stas@FreeBSD.org> <20081125.130021.1210474290.imp@bsdimp.com> <20081125234656.e1820a12.stas@FreeBSD.org> Message-ID: <20081125.142232.-1573945294.imp@bsdimp.com> In message: <20081125234656.e1820a12.stas@FreeBSD.org> Stanislav Sedov writes: : -----BEGIN PGP SIGNED MESSAGE----- : Hash: SHA1 : : On Tue, 25 Nov 2008 13:00:21 -0700 (MST) : "M. Warner Losh" mentioned: : > : > So long as it is optional. The KB9202 boards that I have don't have : > room for uboot or redboot. You have 16kb of space, which boot2 fits : > nicely into right now (clocking in at about 9.5k). : > : : Have it got parallel or SPI flash? My board boots u-boot directly : from parallel flash on start. Not really. While the Kwikbyte board I have does, the board that was developed for my last company doesn't really have it on there. I believe it was cost reduced off the board since we didn't need it: the iic boot loader could load the kernel directly off of the SD card. : > : > but there's a fair number of different boot loaders today for : > : > FreeBSD/arm. While it would be nice to mandate all the world use : > : > uboot + /boot/loader, that's not likely going to happen. There's too : > : > many boards out there that have redboot or some custom boot loader : > : > that will be hard to replace... : > : : > : In that cases loader(8) could be used. : > : > Not always. That's the point that I keep coming back to. There's no : > easy way to make loader read things from disks, over the network, etc : > in the embedded space. Right now for some uboot based systems, this : > can be done, but for redboot systems, you are basically out of luck. : > There's no way that loader(8) can load additional sections without a : > lot of board specific code. : > : : I see your point. If there's no room for extending/replacing you : have to live with what the board has:-( Yes. Sadly, we're not in a position of saying you must have boatloader X. I wish we were... Warner From raj at semihalf.com Tue Nov 25 13:30:07 2008 From: raj at semihalf.com (=?ISO-8859-2?Q?Rafa=B3_Jaworowski?=) Date: Tue Nov 25 13:30:15 2008 Subject: Code review request: boards on AT91 In-Reply-To: <20081125.104452.535842403.imp@bsdimp.com> References: <20081125.104452.535842403.imp@bsdimp.com> Message-ID: <04BDAB4F-CF02-4CE6-90D8-E03EDC1CC8CC@semihalf.com> On 2008-11-25, at 18:44, M. Warner Losh wrote: > I'm trying a little experiment. I'm moving the board support for the > different sets of boards we support to their own file. This is the > first step in moving to supporting multiple boards more easily. > There's a number of gross hacks to make this work now in at91 land, > and I'd like to clean them up. The mv port is much cleaner, but we > still likely need some way to identify boards and get the right board > support code called. In Linux land, all ARM boot loaders are expected > to pass in a machine type, which is used to do the multiplexing. > Something similar in FreeBSD would be useful (and not just for ARM). Hi Warner, While I understand your point about systems with simplistic bootloaders, which cannot provide enough config data to kernel, we should not see the machine ID model as a final solution for more capable environments. I guess we all agree that for those more capable systems we need some really extensible mechanism (device tree type), as discussed previously :-) > If anybody wants me to write up where I'm going with this, or answer > any question, please feel free to ask. Also, comments would be nice. I was dreaming once about all-generic initarm() that would have KOBJ- based dispatcher, but am not sure this wouldn't cause some chicken-and- egg issues as some parts of the infrastructure might not be available at such early stages, but didn't investigate this too close, any thoughts? But anyways, even a simple scheme with common logic and function ptrs, which each platform variation would implement their own routines (or use generic), would improve the ARM init code significantly. Rafal From raj at semihalf.com Tue Nov 25 13:39:13 2008 From: raj at semihalf.com (=?ISO-8859-2?Q?Rafa=B3_Jaworowski?=) Date: Tue Nov 25 13:39:19 2008 Subject: Code review request: boards on AT91 In-Reply-To: <20081125.141957.1723235268.imp@bsdimp.com> References: <20081125.104452.535842403.imp@bsdimp.com> <04BDAB4F-CF02-4CE6-90D8-E03EDC1CC8CC@semihalf.com> <20081125.141957.1723235268.imp@bsdimp.com> Message-ID: <835D3399-80D0-4AAA-BA85-FC922DEB6E7B@semihalf.com> On 2008-11-25, at 22:19, M. Warner Losh wrote: > : > If anybody wants me to write up where I'm going with this, or > answer > : > any question, please feel free to ask. Also, comments would be > nice. > : > : I was dreaming once about all-generic initarm() that would have > KOBJ- > : based dispatcher, but am not sure this wouldn't cause some chicken- > and- > : egg issues as some parts of the infrastructure might not be > available > : at such early stages, but didn't investigate this too close, any > : thoughts? But anyways, even a simple scheme with common logic and > : function ptrs, which each platform variation would implement their > own > : routines (or use generic), would improve the ARM init code > : significantly. > > Yes. There's much duplication of code now, and I'd love to work > towards ways of coping with less duplication. I'd also like to see > the ability to compile code either for multi-board support, or just a > single board support. For the moment, I'd like to take the first step > and get to have the latter... > > The Marvell/Orion stuff has a much better separation, but still needs > some tweaks for board level support. I think I'm going to write up > what I've done and put it on a wiki and then ask if you could review > it and see if your experience with the Marvell implementation could > help refine it. Great, let me know when you got something in the wiki. Rafal From stevefranks at ieee.org Tue Nov 25 14:07:36 2008 From: stevefranks at ieee.org (Steve Franks) Date: Tue Nov 25 14:07:42 2008 Subject: Code review request: boards on AT91 In-Reply-To: <20081125.104452.535842403.imp@bsdimp.com> References: <20081125.104452.535842403.imp@bsdimp.com> Message-ID: <539c60b90811251345i6c864442vebe71ee8654fd3fc@mail.gmail.com> > I'm trying a little experiment. I'm moving the board support for the > different sets of boards we support to their own file. This is the > first step in moving to supporting multiple boards more easily. > There's a number of gross hacks to make this work now in at91 land, > and I'd like to clean them up. The mv port is much cleaner, but we > still likely need some way to identify boards and get the right board > support code called. In Linux land, all ARM boot loaders are expected > to pass in a machine type, which is used to do the multiplexing. > Something similar in FreeBSD would be useful (and not just for ARM). > > Eventually, I'd like to see more common code between the different arm > variants. This will ease porting efforts as well as make the code > more robust. > > If anybody wants me to write up where I'm going with this, or answer > any question, please feel free to ask. Also, comments would be nice. I sure like where you're headed. Were it ever to become possible, I'd love a nano-bsd like environment on my NXP LPC2138 ARM7 processor. It's got 512k flash & 32k ram embedded and it's 60MHz, so it might be a bit anemic, but hey, they can run uClinux, and I hate to let those linux guys have the last laugh ;) A "beagleboard" is something I've got lying around with alot more horsepower, but I seem to recall the ARM Cortex M8 variant of our gcc wasn't exactly ready for primetime at the moment. The beagleboard sure runs enlightenment linux a heck of a lot better than my phone runs wince though, and I'd love to get there with BSD one day. Steve From raj at semihalf.com Tue Nov 25 14:16:38 2008 From: raj at semihalf.com (=?ISO-8859-2?Q?Rafa=B3_Jaworowski?=) Date: Tue Nov 25 14:16:44 2008 Subject: Code review request: boards on AT91 In-Reply-To: <492C74CE.4090808@freebsd.org> References: <20081125.104452.535842403.imp@bsdimp.com> <04BDAB4F-CF02-4CE6-90D8-E03EDC1CC8CC@semihalf.com> <492C74CE.4090808@freebsd.org> Message-ID: <20EB52EA-EA95-42A4-9319-7838F0128447@semihalf.com> On 2008-11-25, at 22:57, Nathan Whitehorn wrote: > Rafa? Jaworowski wrote: >> On 2008-11-25, at 18:44, M. Warner Losh wrote: >> >> >>> If anybody wants me to write up where I'm going with this, or answer >>> any question, please feel free to ask. Also, comments would be >>> nice. >> >> I was dreaming once about all-generic initarm() that would have >> KOBJ-based dispatcher, but am not sure this wouldn't cause some >> chicken-and-egg issues as some parts of the infrastructure might >> not be available at such early stages, but didn't investigate this >> too close, any thoughts? But anyways, even a simple scheme with >> common logic and function ptrs, which each platform variation would >> implement their own routines (or use generic), would improve the >> ARM init code significantly. > I am about to commit a patch in order to provide Open Firmware > modularization using KOBJ (coincidentally, this should make > supporting FDTs much easier). In order to this, I had to make KOBJ > behave itself when invoked almost at the very beginning of the boot > process on both PowerPC and SPARC, so you shouldn't have any trouble > putting this in very early boot on ARM either once this hits the tree. Oh, very interesting news, thanks a lot -- I'll definitely look at your code. Rafal From imp at bsdimp.com Tue Nov 25 14:24:07 2008 From: imp at bsdimp.com (M. Warner Losh) Date: Tue Nov 25 14:24:13 2008 Subject: Code review request: boards on AT91 In-Reply-To: <835D3399-80D0-4AAA-BA85-FC922DEB6E7B@semihalf.com> References: <04BDAB4F-CF02-4CE6-90D8-E03EDC1CC8CC@semihalf.com> <20081125.141957.1723235268.imp@bsdimp.com> <835D3399-80D0-4AAA-BA85-FC922DEB6E7B@semihalf.com> Message-ID: <20081125.152218.756907300.imp@bsdimp.com> In message: <835D3399-80D0-4AAA-BA85-FC922DEB6E7B@semihalf.com> Rafa?_Jaworowski writes: : On 2008-11-25, at 22:19, M. Warner Losh wrote: : > : > If anybody wants me to write up where I'm going with this, or : > answer : > : > any question, please feel free to ask. Also, comments would be : > nice. : > : : > : I was dreaming once about all-generic initarm() that would have : > KOBJ- : > : based dispatcher, but am not sure this wouldn't cause some chicken- : > and- : > : egg issues as some parts of the infrastructure might not be : > available : > : at such early stages, but didn't investigate this too close, any : > : thoughts? But anyways, even a simple scheme with common logic and : > : function ptrs, which each platform variation would implement their : > own : > : routines (or use generic), would improve the ARM init code : > : significantly. : > : > Yes. There's much duplication of code now, and I'd love to work : > towards ways of coping with less duplication. I'd also like to see : > the ability to compile code either for multi-board support, or just a : > single board support. For the moment, I'd like to take the first step : > and get to have the latter... : > : > The Marvell/Orion stuff has a much better separation, but still needs : > some tweaks for board level support. I think I'm going to write up : > what I've done and put it on a wiki and then ask if you could review : > it and see if your experience with the Marvell implementation could : > help refine it. : : Great, let me know when you got something in the wiki. There's a fairly lame version up now: http://wiki.freebsd.org/FreeBSDArmBoards We likely need a much less lame version :) Warner From stas at FreeBSD.org Tue Nov 25 14:29:29 2008 From: stas at FreeBSD.org (Stanislav Sedov) Date: Tue Nov 25 14:29:42 2008 Subject: Code review request: boards on AT91 In-Reply-To: <539c60b90811251345i6c864442vebe71ee8654fd3fc@mail.gmail.com> References: <20081125.104452.535842403.imp@bsdimp.com> <539c60b90811251345i6c864442vebe71ee8654fd3fc@mail.gmail.com> Message-ID: <20081126013047.e91ccbdd.stas@FreeBSD.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, 25 Nov 2008 14:45:14 -0700 "Steve Franks" mentioned: > I sure like where you're headed. Were it ever to become possible, I'd > love a nano-bsd like environment on my NXP LPC2138 ARM7 processor. > It's got 512k flash & 32k ram embedded and it's 60MHz, so it might be > a bit anemic, but hey, they can run uClinux, and I hate to let those > linux guys have the last laugh ;) I don't think it's possible. This CPU lacks MMU and MPU, thus no memory space separation at all. uClinux is not the Linux, after all. - -- Stanislav Sedov ST4096-RIPE -----BEGIN PGP SIGNATURE----- iEYEARECAAYFAkksfJwACgkQK/VZk+smlYETcQCdEbsZBC2Z+tsA6e99nYO2LH3e lHcAnRtBPn+EdSRFYysVAjXejrsXVArv =6FiJ -----END PGP SIGNATURE----- From nwhitehorn at freebsd.org Tue Nov 25 14:53:40 2008 From: nwhitehorn at freebsd.org (Nathan Whitehorn) Date: Tue Nov 25 14:54:11 2008 Subject: Code review request: boards on AT91 In-Reply-To: <04BDAB4F-CF02-4CE6-90D8-E03EDC1CC8CC@semihalf.com> References: <20081125.104452.535842403.imp@bsdimp.com> <04BDAB4F-CF02-4CE6-90D8-E03EDC1CC8CC@semihalf.com> Message-ID: <492C74CE.4090808@freebsd.org> Rafa? Jaworowski wrote: > On 2008-11-25, at 18:44, M. Warner Losh wrote: > > >> If anybody wants me to write up where I'm going with this, or answer >> any question, please feel free to ask. Also, comments would be nice. > > I was dreaming once about all-generic initarm() that would have > KOBJ-based dispatcher, but am not sure this wouldn't cause some > chicken-and-egg issues as some parts of the infrastructure might not > be available at such early stages, but didn't investigate this too > close, any thoughts? But anyways, even a simple scheme with common > logic and function ptrs, which each platform variation would implement > their own routines (or use generic), would improve the ARM init code > significantly. I am about to commit a patch in order to provide Open Firmware modularization using KOBJ (coincidentally, this should make supporting FDTs much easier). In order to this, I had to make KOBJ behave itself when invoked almost at the very beginning of the boot process on both PowerPC and SPARC, so you shouldn't have any trouble putting this in very early boot on ARM either once this hits the tree. -Nathan From stas at FreeBSD.org Sun Nov 30 14:46:28 2008 From: stas at FreeBSD.org (stas@FreeBSD.org) Date: Sun Nov 30 14:46:33 2008 Subject: arm/128891: [PATCH] Fix for spelling error in arm machdep code Message-ID: <200811302246.mAUMkRja057941@freefall.freebsd.org> Synopsis: [PATCH] Fix for spelling error in arm machdep code Responsible-Changed-From-To: freebsd-arm->stas Responsible-Changed-By: stas Responsible-Changed-When: Sun Nov 30 22:46:27 UTC 2008 Responsible-Changed-Why: I'll take it. http://www.freebsd.org/cgi/query-pr.cgi?pr=128891 From stas at FreeBSD.org Sun Nov 30 14:50:38 2008 From: stas at FreeBSD.org (stas@FreeBSD.org) Date: Sun Nov 30 14:50:44 2008 Subject: arm/128897: [PATCH] Failture to build arm kernel with "options KTR" Message-ID: <200811302250.mAUMobUp064188@freefall.freebsd.org> Synopsis: [PATCH] Failture to build arm kernel with "options KTR" Responsible-Changed-From-To: freebsd-arm->stas Responsible-Changed-By: stas Responsible-Changed-When: Sun Nov 30 22:50:37 UTC 2008 Responsible-Changed-Why: I'll take it. http://www.freebsd.org/cgi/query-pr.cgi?pr=128897 From stas at FreeBSD.org Sun Nov 30 14:59:58 2008 From: stas at FreeBSD.org (stas@FreeBSD.org) Date: Sun Nov 30 15:00:04 2008 Subject: arm/128987: [patch] Fix at91_mci and use 1-bit mode. Message-ID: <200811302259.mAUMxvNE065100@freefall.freebsd.org> Synopsis: [patch] Fix at91_mci and use 1-bit mode. Responsible-Changed-From-To: freebsd-arm->stas Responsible-Changed-By: stas Responsible-Changed-When: Sun Nov 30 22:59:57 UTC 2008 Responsible-Changed-Why: I'll take it. http://www.freebsd.org/cgi/query-pr.cgi?pr=128987 From imp at bsdimp.com Sun Nov 30 15:51:35 2008 From: imp at bsdimp.com (M. Warner Losh) Date: Sun Nov 30 15:51:43 2008 Subject: arm/128987: [patch] Fix at91_mci and use 1-bit mode. In-Reply-To: <200811302259.mAUMxvNE065100@freefall.freebsd.org> References: <200811302259.mAUMxvNE065100@freefall.freebsd.org> Message-ID: <20081130.165009.-432837069.imp@bsdimp.com> In message: <200811302259.mAUMxvNE065100@freefall.freebsd.org> stas@freebsd.org writes: : Synopsis: [patch] Fix at91_mci and use 1-bit mode. : : Responsible-Changed-From-To: freebsd-arm->stas : Responsible-Changed-By: stas : Responsible-Changed-When: Sun Nov 30 22:59:57 UTC 2008 : Responsible-Changed-Why: : I'll take it. : : http://www.freebsd.org/cgi/query-pr.cgi?pr=128987 This should likely be configured on a per-board basis. 4-bit data path does help performance, and is known to work on the AT91RM9200. Warner