From mav at FreeBSD.org Sun Nov 2 10:46:34 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Sun Nov 2 10:46:40 2008 Subject: Is the C3 possible with SMP? Message-ID: <490DF584.5080506@FreeBSD.org> Hi. I have tried to enable C3 state on my Core2Duo laptop and found that it is not working good. System HZ timer stops during CPU sleep. After some investigation I have found that it is due to LAPIC timer used for HZ stopped during C3 state (same as during AMD's C1E). So the question is: Is it possible (or planned) to make it work somehow? For example, by using some external timer instead of LAPIC's one? ACPI reports about 20% less idle power consumption with C3 state comparing to C2. It would be interesting to get additional half an hour on battery. -- Alexander Motin From gaijin.k at gmail.com Sun Nov 2 12:16:05 2008 From: gaijin.k at gmail.com (Alexandre "Sunny" Kovalenko) Date: Sun Nov 2 12:16:16 2008 Subject: Is the C3 possible with SMP? In-Reply-To: <490DF584.5080506@FreeBSD.org> References: <490DF584.5080506@FreeBSD.org> Message-ID: <1225656933.1202.2.camel@RabbitsDen> On Sun, 2008-11-02 at 20:46 +0200, Alexander Motin wrote: > Hi. > > I have tried to enable C3 state on my Core2Duo laptop and found that it > is not working good. System HZ timer stops during CPU sleep. After some > investigation I have found that it is due to LAPIC timer used for HZ > stopped during C3 state (same as during AMD's C1E). > > So the question is: Is it possible (or planned) to make it work somehow? > For example, by using some external timer instead of LAPIC's one? > > ACPI reports about 20% less idle power consumption with C3 state > comparing to C2. It would be interesting to get additional half an hour > on battery. > You can get half way there by adding dev.cpu.1.cx_lowest=C3 to /etc/sysctl.conf I do realize that this is not The Solution, but it still saves battery. HTH, -- Alexandre "Sunny" Kovalenko (????????? ?????????) From mav at FreeBSD.org Sun Nov 2 14:06:24 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Sun Nov 2 14:06:32 2008 Subject: Is the C3 possible with SMP? In-Reply-To: <1225656933.1202.2.camel@RabbitsDen> References: <490DF584.5080506@FreeBSD.org> <1225656933.1202.2.camel@RabbitsDen> Message-ID: <490E245C.7070900@FreeBSD.org> Alexandre "Sunny" Kovalenko wrote: >> I have tried to enable C3 state on my Core2Duo laptop and found that it >> is not working good. System HZ timer stops during CPU sleep. After some >> investigation I have found that it is due to LAPIC timer used for HZ >> stopped during C3 state (same as during AMD's C1E). >> >> So the question is: Is it possible (or planned) to make it work somehow? >> For example, by using some external timer instead of LAPIC's one? >> >> ACPI reports about 20% less idle power consumption with C3 state >> comparing to C2. It would be interesting to get additional half an hour >> on battery. >> > You can get half way there by adding > > dev.cpu.1.cx_lowest=C3 > > to /etc/sysctl.conf Thanks. 1. Looks like it does not kill the timer. 2. I haven't got any benefit from it in idle state. According to `acpiconf -i 0` I have about 13 Amps (IMHO more looks like Watts) with both C2 and this half-to-C3, but only 11 Amps in full C3 (but without timer). 3. I have got about 10% benefit (33 Amps against 36) when cpu0 is 100% busy while cpu1 is idle. -- Alexander Motin From gaijin.k at gmail.com Sun Nov 2 14:27:25 2008 From: gaijin.k at gmail.com (Alexandre "Sunny" Kovalenko) Date: Sun Nov 2 14:27:34 2008 Subject: Is the C3 possible with SMP? In-Reply-To: <490E245C.7070900@FreeBSD.org> References: <490DF584.5080506@FreeBSD.org> <1225656933.1202.2.camel@RabbitsDen> <490E245C.7070900@FreeBSD.org> Message-ID: <1225664813.1202.5.camel@RabbitsDen> On Mon, 2008-11-03 at 00:06 +0200, Alexander Motin wrote: > Alexandre "Sunny" Kovalenko wrote: > >> I have tried to enable C3 state on my Core2Duo laptop and found that it > >> is not working good. System HZ timer stops during CPU sleep. After some > >> investigation I have found that it is due to LAPIC timer used for HZ > >> stopped during C3 state (same as during AMD's C1E). > >> > >> So the question is: Is it possible (or planned) to make it work somehow? > >> For example, by using some external timer instead of LAPIC's one? > >> > >> ACPI reports about 20% less idle power consumption with C3 state > >> comparing to C2. It would be interesting to get additional half an hour > >> on battery. > >> > > You can get half way there by adding > > > > dev.cpu.1.cx_lowest=C3 > > > > to /etc/sysctl.conf > > Thanks. > > 1. Looks like it does not kill the timer. > 2. I haven't got any benefit from it in idle state. According to > `acpiconf -i 0` I have about 13 Amps (IMHO more looks like Watts) with > both C2 and this half-to-C3, but only 11 Amps in full C3 (but without > timer). > 3. I have got about 10% benefit (33 Amps against 36) when cpu0 is 100% > busy while cpu1 is idle. > You would not happen to have USB loaded or built into kernel? If you do, you will practically never go into C3. What does sysctl dev.cpu | grep cx_usage say? -- Alexandre "Sunny" Kovalenko (????????? ?????????) From mav at FreeBSD.org Sun Nov 2 14:43:41 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Sun Nov 2 14:44:03 2008 Subject: Is the C3 possible with SMP? In-Reply-To: <1225664813.1202.5.camel@RabbitsDen> References: <490DF584.5080506@FreeBSD.org> <1225656933.1202.2.camel@RabbitsDen> <490E245C.7070900@FreeBSD.org> <1225664813.1202.5.camel@RabbitsDen> Message-ID: <490E2D19.1030502@FreeBSD.org> Alexandre "Sunny" Kovalenko wrote: > You would not happen to have USB loaded or built into kernel? If you do, At home I have external USB keyboard and mouse, so yes, it is built in. It would be difficult to unload and reload it each time I connect something. I have read in ICH8M datasheet about special feature of reducing USB busmaster activity on idle periods to support C3 state. Do you know something about it? > you will practically never go into C3. What does > > sysctl dev.cpu | grep cx_usage > > say? %sysctl -a | grep cx_ hw.acpi.cpu.cx_lowest: C2 dev.cpu.0.cx_supported: C1/1 C2/1 C3/57 dev.cpu.0.cx_lowest: C2 dev.cpu.0.cx_usage: 0.00% 100.00% 0.00% dev.cpu.1.cx_supported: C1/1 C2/1 C3/57 dev.cpu.1.cx_lowest: C3 dev.cpu.1.cx_usage: 0.00% 0.43% 99.56% -- Alexander Motin From gaijin.k at gmail.com Sun Nov 2 16:05:19 2008 From: gaijin.k at gmail.com (Alexandre "Sunny" Kovalenko) Date: Sun Nov 2 16:05:30 2008 Subject: Is the C3 possible with SMP? In-Reply-To: <490E2D19.1030502@FreeBSD.org> References: <490DF584.5080506@FreeBSD.org> <1225656933.1202.2.camel@RabbitsDen> <490E245C.7070900@FreeBSD.org> <1225664813.1202.5.camel@RabbitsDen> <490E2D19.1030502@FreeBSD.org> Message-ID: <1225670686.1153.8.camel@RabbitsDen> On Mon, 2008-11-03 at 00:43 +0200, Alexander Motin wrote: > Alexandre "Sunny" Kovalenko wrote: > > You would not happen to have USB loaded or built into kernel? If you do, > > At home I have external USB keyboard and mouse, so yes, it is built in. > It would be difficult to unload and reload it each time I connect something. I am not sure, I follow. When my laptop is on my desk (and plugged into the power supply), I am loading usb modules for all the necessary devices, including, but not limited to my mouse and keyboard. At this point, I do not get much of C3: dev.cpu.0.cx_usage: 0.00% 100.00% 0.00% dev.cpu.1.cx_usage: 0.00% 99.76% 0.23% When laptop is moving around with me, all USB modules are unloaded and I get about 4 hours of battery life with wireless on, admittedly on the light usage (reading/writing E-mails, browsing web, typing up occasional document). I consider this good for 4.4lbs (<2kg) laptop. My Kill-A-Watt device shows miniscule (~4%) even if stable difference between C3 and no-C3 when plugged into the outlet. > > I have read in ICH8M datasheet about special feature of reducing USB > busmaster activity on idle periods to support C3 state. Do you know > something about it? Unfortunately, I do not. > > > you will practically never go into C3. What does > > > > sysctl dev.cpu | grep cx_usage > > > > say? > > %sysctl -a | grep cx_ > hw.acpi.cpu.cx_lowest: C2 > dev.cpu.0.cx_supported: C1/1 C2/1 C3/57 > dev.cpu.0.cx_lowest: C2 > dev.cpu.0.cx_usage: 0.00% 100.00% 0.00% > dev.cpu.1.cx_supported: C1/1 C2/1 C3/57 > dev.cpu.1.cx_lowest: C3 > dev.cpu.1.cx_usage: 0.00% 0.43% 99.56% > OK, so we have C3. Is this the machine you see no difference in power consumption between C3 and no C3? How did you measure it? -- Alexandre "Sunny" Kovalenko (????????? ?????????) From peterjeremy at optushome.com.au Sun Nov 2 23:47:34 2008 From: peterjeremy at optushome.com.au (Peter Jeremy) Date: Sun Nov 2 23:47:40 2008 Subject: Is the C3 possible with SMP? In-Reply-To: <490E245C.7070900@FreeBSD.org> References: <490DF584.5080506@FreeBSD.org> <1225656933.1202.2.camel@RabbitsDen> <490E245C.7070900@FreeBSD.org> Message-ID: <20081103074730.GJ99398@server.vk2pj.dyndns.org> On 2008-Nov-03 00:06:20 +0200, Alexander Motin wrote: >2. I haven't got any benefit from it in idle state. According to >`acpiconf -i 0` I have about 13 Amps (IMHO more looks like Watts) with I assumed it was reporting deci-Amps instead of Amps (ie reading an order of magnitude high) but I guess power is an option. -- Peter Jeremy Please excuse any delays as the result of my ISP's inability to implement an MTA that is either RFC2821-compliant or matches their claimed behaviour. -------------- 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-mobile/attachments/20081103/4a41253a/attachment.pgp From mav at FreeBSD.org Mon Nov 3 01:16:07 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Mon Nov 3 01:16:19 2008 Subject: Is the C3 possible with SMP? In-Reply-To: <1225670686.1153.8.camel@RabbitsDen> References: <490DF584.5080506@FreeBSD.org> <1225656933.1202.2.camel@RabbitsDen> <490E245C.7070900@FreeBSD.org> <1225664813.1202.5.camel@RabbitsDen> <490E2D19.1030502@FreeBSD.org> <1225670686.1153.8.camel@RabbitsDen> Message-ID: <490EC154.9020801@FreeBSD.org> Alexandre "Sunny" Kovalenko wrote: > When laptop is moving around with me, all USB modules are unloaded and I I will try to unload USB later today. > get about 4 hours of battery life with wireless on, admittedly on the > light usage (reading/writing E-mails, browsing web, typing up occasional > document). I consider this good for 4.4lbs (<2kg) laptop. I have a bit more then 3 hours at the same weight. Which CPU, video and chipset do you have? > OK, so we have C3. Is this the machine you see no difference in power > consumption between C3 and no C3? How did you measure it? Yes. I am using `acpiconf -i 0`. I have no way to measure AC power and I am not sure in precision of such measurements due to limited AC power supply effectiveness. I have some doubts that C3 on only one of two cores could give much benefit. I have already lowered frequency and voltage via EST by powerd. I have turned off most of CPU clocks with Core2Duo C2E state. So, according to what I have read, now only APICs and bus controller are active. As soon as I see timer interrupt on cpu1 it's APIC is not sleeping. Bus controller is shared by cores, so it can't be disabled until at least one core is active. -- Alexander Motin From gaijin.k at gmail.com Mon Nov 3 04:23:34 2008 From: gaijin.k at gmail.com (Alexandre "Sunny" Kovalenko) Date: Mon Nov 3 04:23:40 2008 Subject: Is the C3 possible with SMP? In-Reply-To: <490EC154.9020801@FreeBSD.org> References: <490DF584.5080506@FreeBSD.org> <1225656933.1202.2.camel@RabbitsDen> <490E245C.7070900@FreeBSD.org> <1225664813.1202.5.camel@RabbitsDen> <490E2D19.1030502@FreeBSD.org> <1225670686.1153.8.camel@RabbitsDen> <490EC154.9020801@FreeBSD.org> Message-ID: <1225714981.1184.7.camel@RabbitsDen> On Mon, 2008-11-03 at 11:16 +0200, Alexander Motin wrote: > Alexandre "Sunny" Kovalenko wrote: > > When laptop is moving around with me, all USB modules are unloaded and I > > I will try to unload USB later today. > > > get about 4 hours of battery life with wireless on, admittedly on the > > light usage (reading/writing E-mails, browsing web, typing up occasional > > document). I consider this good for 4.4lbs (<2kg) laptop. > > I have a bit more then 3 hours at the same weight. Which CPU, video and > chipset do you have? This is CoreDuo T2400 with Intel 945GM video and Atheros 5212 a/b/g wireless part. One other thing, I forgot to mention is: I set hw.pci.do_power_nodriver: 3 I have to be honest: I really do not know how much savings do I get from which settings -- I merely went for most aggressive ones. YMMV. > I have some doubts that C3 on only one of two cores could give much > benefit. You are most likely right -- crude measurement by Kill-A-Watt shows 4% difference which might as well be measurement error. -- Alexandre "Sunny" Kovalenko (????????? ?????????) From mav at FreeBSD.org Mon Nov 3 12:56:56 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Mon Nov 3 12:57:02 2008 Subject: Is the C3 possible with SMP? In-Reply-To: <1225714981.1184.7.camel@RabbitsDen> References: <490DF584.5080506@FreeBSD.org> <1225656933.1202.2.camel@RabbitsDen> <490E245C.7070900@FreeBSD.org> <1225664813.1202.5.camel@RabbitsDen> <490E2D19.1030502@FreeBSD.org> <1225670686.1153.8.camel@RabbitsDen> <490EC154.9020801@FreeBSD.org> <1225714981.1184.7.camel@RabbitsDen> Message-ID: <490F6594.6050802@FreeBSD.org> Alexandre "Sunny" Kovalenko wrote: >>> When laptop is moving around with me, all USB modules are unloaded and I >> I will try to unload USB later today. I have got a bit power on disabling EHCI, but it could happen just because device itself went into the D3 state. C3 stats doesn't changes on that. UHCI and other devices disabling also gave some bits. >>> get about 4 hours of battery life with wireless on, admittedly on the >>> light usage (reading/writing E-mails, browsing web, typing up occasional >>> document). I consider this good for 4.4lbs (<2kg) laptop. >> I have a bit more then 3 hours at the same weight. Which CPU, video and >> chipset do you have? > This is CoreDuo T2400 with Intel 945GM video and Atheros 5212 a/b/g > wireless part. One other thing, I forgot to mention is: I set > > hw.pci.do_power_nodriver: 3 Thanks. With disabling everything possible I was able to reach 4 hours plank! There is one question appeared, is there any way to deny driver attachment for some specific device to left it is D3 state? For example I don't need some specific USB hosts and PATA controller, but I can't disable them with just not loading the driver. There is alike DF_ENABLED flag I have found, but I haven't found any external way to reset it. :( -- Alexander Motin From gaijin.k at gmail.com Mon Nov 3 16:32:02 2008 From: gaijin.k at gmail.com (Alexandre "Sunny" Kovalenko) Date: Mon Nov 3 16:32:09 2008 Subject: Is the C3 possible with SMP? In-Reply-To: <490F6594.6050802@FreeBSD.org> References: <490DF584.5080506@FreeBSD.org> <1225656933.1202.2.camel@RabbitsDen> <490E245C.7070900@FreeBSD.org> <1225664813.1202.5.camel@RabbitsDen> <490E2D19.1030502@FreeBSD.org> <1225670686.1153.8.camel@RabbitsDen> <490EC154.9020801@FreeBSD.org> <1225714981.1184.7.camel@RabbitsDen> <490F6594.6050802@FreeBSD.org> Message-ID: <1225758689.1244.1.camel@RabbitsDen> On Mon, 2008-11-03 at 22:56 +0200, Alexander Motin wrote: > Alexandre "Sunny" Kovalenko wrote: > >>> When laptop is moving around with me, all USB modules are unloaded and I > >> I will try to unload USB later today. > > I have got a bit power on disabling EHCI, but it could happen just > because device itself went into the D3 state. C3 stats doesn't changes > on that. UHCI and other devices disabling also gave some bits. > > >>> get about 4 hours of battery life with wireless on, admittedly on the > >>> light usage (reading/writing E-mails, browsing web, typing up occasional > >>> document). I consider this good for 4.4lbs (<2kg) laptop. > >> I have a bit more then 3 hours at the same weight. Which CPU, video and > >> chipset do you have? > > This is CoreDuo T2400 with Intel 945GM video and Atheros 5212 a/b/g > > wireless part. One other thing, I forgot to mention is: I set > > > > hw.pci.do_power_nodriver: 3 > > Thanks. With disabling everything possible I was able to reach 4 hours > plank! > > There is one question appeared, is there any way to deny driver > attachment for some specific device to left it is D3 state? For example > I don't need some specific USB hosts and PATA controller, but I can't > disable them with just not loading the driver. There is alike DF_ENABLED > flag I have found, but I haven't found any external way to reset it. :( Well, this is way beyond my knowledge. Hopefully, someone who actually knows how things work will chime in. Sorry. -- Alexandre "Sunny" Kovalenko (????????? ?????????) From mav at FreeBSD.org Wed Nov 5 12:57:59 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Wed Nov 5 12:58:05 2008 Subject: RFC: powerd algorithms enhancements Message-ID: <491208D3.2050901@FreeBSD.org> Hi. I would like to propose the patch for powerd that fixes some issues, makes it more universal and on my opinion more usable. The main ideas of mine were: 1. To make it more SMP polite. Previous version uses average CPU load that leads to the often load underestimation. It make powerd with default configuration unusable on systems with more then 2 CPUs. I propose to use summary load instead of average one. IMO this is the best we can do without specially tuned scheduler. Also as soon as measuring total load on SMP systems is more useful then total idle, I have switched to it. 2. To make powerd's operation independent from number and size of frequency levels I have added internal frequency counter which translated into real frequencies only on a last stage and only as good as gone. Some systems may have only several power levels, while mine has 17 of them, so adaptation time in completely different. It would be good if algorithm was not depending on it. 3. As part of previous I have changed adaptive mode to rise frequency on demand up to 2 times and fall on 1/8 per time internal. 4. For desktop (AC-powered) systems I have added one more mode - "hiadaptive". It rises frequency twice faster, drops it 4 times slower, prefers twice lower CPU load and has additional delay before leaving the highest frequency after the period of maximum load. This mode was specially made to improve interactivity of the systems where operation capabilities are more significant then power consumption, but keeping maximum frequency all the time is not needed. 5. I have reduced polling interval from 1/2 to 1/4 of second. It is not important for algorithm math now, but gives better system interactivity. -- Alexander Motin -------------- next part -------------- --- powerd.c.prev 2008-07-29 21:51:52.000000000 +0300 +++ powerd.c 2008-11-05 22:51:35.000000000 +0200 @@ -50,13 +50,14 @@ __FBSDID("$FreeBSD: src/usr.sbin/powerd/ #include #endif -#define DEFAULT_ACTIVE_PERCENT 65 -#define DEFAULT_IDLE_PERCENT 90 -#define DEFAULT_POLL_INTERVAL 500 /* Poll interval in milliseconds */ +#define DEFAULT_ACTIVE_PERCENT 75 +#define DEFAULT_IDLE_PERCENT 50 +#define DEFAULT_POLL_INTERVAL 250 /* Poll interval in milliseconds */ typedef enum { MODE_MIN, MODE_ADAPTIVE, + MODE_HIADAPTIVE, MODE_MAX, } modes_t; @@ -77,7 +78,7 @@ const char *modes[] = { #define DEVDPIPE "/var/run/devd.pipe" #define DEVCTL_MAXBUF 1024 -static int read_usage_times(long *idle, long *total); +static int read_usage_times(int *load); static int read_freqs(int *numfreqs, int **freqs, int **power); static int set_freq(int freq); static void acline_init(void); @@ -89,7 +90,7 @@ static void parse_mode(char *arg, int *m static void usage(void); /* Sysctl data structures. */ -static int cp_time_mib[2]; +static int cp_times_mib[2]; static int freq_mib[4]; static int levels_mib[4]; static int acline_mib[3]; @@ -119,27 +120,49 @@ static int devd_pipe = -1; static struct timeval tried_devd; static int -read_usage_times(long *idle, long *total) +read_usage_times(int *load) { - static long idle_old, total_old; - long cp_time[CPUSTATES], i, total_new; - size_t cp_time_len; - int error; + static long *cp_times = NULL, *cp_times_old = NULL; + static int ncpus = 0; + size_t cp_times_len; + int error, cpu, i, total; + + if (cp_times == NULL) { + cp_times_len = 0; + error = sysctl(cp_times_mib, 2, NULL, &cp_times_len, NULL, 0); + if (error) + return (error); + if ((cp_times = malloc(cp_times_len)) == NULL) + return (errno); + if ((cp_times_old = malloc(cp_times_len)) == NULL) { + free(cp_times); + cp_times = NULL; + return (errno); + } + ncpus = cp_times_len / (sizeof(long) * CPUSTATES); + } - cp_time_len = sizeof(cp_time); - error = sysctl(cp_time_mib, 2, cp_time, &cp_time_len, NULL, 0); + cp_times_len = sizeof(long) * CPUSTATES * ncpus; + error = sysctl(cp_times_mib, 2, cp_times, &cp_times_len, NULL, 0); if (error) return (error); - for (total_new = 0, i = 0; i < CPUSTATES; i++) - total_new += cp_time[i]; - - if (idle) - *idle = cp_time[CP_IDLE] - idle_old; - if (total) - *total = total_new - total_old; + + if (load) { + *load = 0; + for (cpu = 0; cpu < ncpus; cpu++) { + total = 0; + for (i = 0; i < CPUSTATES; i++) { + total += cp_times[cpu * CPUSTATES + i] - + cp_times_old[cpu * CPUSTATES + i]; + } + if (total == 0) + continue; + *load += 100 - (cp_times[cpu * CPUSTATES + CP_IDLE] - + cp_times_old[cpu * CPUSTATES + CP_IDLE]) * 100 / total; + } + } - idle_old = cp_time[CP_IDLE]; - total_old = total_new; + memcpy(cp_times_old, cp_times, cp_times_len); return (0); } @@ -190,6 +213,21 @@ read_freqs(int *numfreqs, int **freqs, i } static int +get_freq(void) +{ + size_t len; + int curfreq; + + len = sizeof(curfreq); + if (sysctl(freq_mib, 4, &curfreq, &len, NULL, 0) != 0) { + if (vflag) + warn("error reading current CPU frequency"); + curfreq = 0; + } + return (curfreq); +} + +static int set_freq(int freq) { @@ -201,6 +239,19 @@ set_freq(int freq) return (0); } +static int +get_freq_id(int freq, int *freqs, int numfreqs) +{ + int i = 1; + + while (i < numfreqs) { + if (freqs[i] < freq) + break; + i++; + } + return (i - 1); +} + /* * Try to use ACPI to find the AC line status. If this fails, fall back * to APM. If nothing succeeds, we'll just run in default mode. @@ -341,6 +392,8 @@ parse_mode(char *arg, int *mode, int ch) *mode = MODE_MAX; else if (strcmp(arg, "adaptive") == 0 || strcmp(arg, "adp") == 0) *mode = MODE_ADAPTIVE; + else if (strcmp(arg, "hiadaptive") == 0 || strcmp(arg, "hadp") == 0) + *mode = MODE_HIADAPTIVE; else errx(1, "bad option: -%c %s", (char)ch, optarg); } @@ -369,14 +422,14 @@ main(int argc, char * argv[]) int nfds; struct pidfh *pfh = NULL; const char *pidfile = NULL; - long idle, total; - int curfreq, *freqs, i, *mwatts, numfreqs; + int freq, curfreq, *freqs, i, j, *mwatts, numfreqs, load; int ch, mode, mode_ac, mode_battery, mode_none; uint64_t mjoules_used; size_t len; /* Default mode for all AC states is adaptive. */ - mode_ac = mode_battery = mode_none = MODE_ADAPTIVE; + mode_ac = mode_none = MODE_HIADAPTIVE; + mode_battery = MODE_ADAPTIVE; cpu_running_mark = DEFAULT_ACTIVE_PERCENT; cpu_idle_mark = DEFAULT_IDLE_PERCENT; poll_ival = DEFAULT_POLL_INTERVAL; @@ -418,7 +471,7 @@ main(int argc, char * argv[]) break; case 'r': cpu_running_mark = atoi(optarg); - if (cpu_running_mark < 0 || cpu_running_mark > 100) { + if (cpu_running_mark <= 0 || cpu_running_mark > 100) { warnx("%d is not a valid percent", cpu_running_mark); usage(); @@ -438,8 +491,8 @@ main(int argc, char * argv[]) /* Look up various sysctl MIBs. */ len = 2; - if (sysctlnametomib("kern.cp_time", cp_time_mib, &len)) - err(1, "lookup kern.cp_time"); + if (sysctlnametomib("kern.cp_times", cp_times_mib, &len)) + err(1, "lookup kern.cp_times"); len = 4; if (sysctlnametomib("dev.cpu.0.freq", freq_mib, &len)) err(1, "lookup freq"); @@ -447,8 +500,8 @@ main(int argc, char * argv[]) if (sysctlnametomib("dev.cpu.0.freq_levels", levels_mib, &len)) err(1, "lookup freq_levels"); - /* Check if we can read the idle time and supported freqs. */ - if (read_usage_times(NULL, NULL)) + /* Check if we can read the load and supported freqs. */ + if (read_usage_times(NULL)) err(1, "read_usage_times"); if (read_freqs(&numfreqs, &freqs, &mwatts)) err(1, "error reading supported CPU frequencies"); @@ -483,6 +536,9 @@ main(int argc, char * argv[]) signal(SIGINT, handle_sigs); signal(SIGTERM, handle_sigs); + freq = get_freq(); + if (freq < 1) + freq = 1; /* Main loop. */ for (;;) { FD_ZERO(&fdset); @@ -522,37 +578,30 @@ main(int argc, char * argv[]) } /* Read the current frequency. */ - len = sizeof(curfreq); - if (sysctl(freq_mib, 4, &curfreq, &len, NULL, 0) != 0) { - if (vflag) - warn("error reading current CPU frequency"); + if ((curfreq = get_freq()) == 0) continue; - } + i = get_freq_id(curfreq, freqs, numfreqs); + if (vflag) { - for (i = 0; i < numfreqs; i++) { - if (freqs[i] == curfreq) - break; - } - /* Keep a sum of all power actually used. */ - if (i < numfreqs && mwatts[i] != -1) + if (mwatts[i] != -1) mjoules_used += (mwatts[i] * (poll_ival / 1000)) / 1000; } /* Always switch to the lowest frequency in min mode. */ if (mode == MODE_MIN) { - if (curfreq != freqs[numfreqs - 1]) { + freq = freqs[numfreqs - 1]; + if (curfreq != freq) { if (vflag) { printf("now operating on %s power; " "changing frequency to %d MHz\n", - modes[acline_status], - freqs[numfreqs - 1]); + modes[acline_status], freq); } - if (set_freq(freqs[numfreqs - 1]) != 0) { + if (set_freq(freq) != 0) { warn("error setting CPU freq %d", - freqs[numfreqs - 1]); + freq); continue; } } @@ -561,16 +610,16 @@ main(int argc, char * argv[]) /* Always switch to the highest frequency in max mode. */ if (mode == MODE_MAX) { - if (curfreq != freqs[0]) { + freq = freqs[0]; + if (curfreq != freq) { if (vflag) { printf("now operating on %s power; " "changing frequency to %d MHz\n", - modes[acline_status], - freqs[0]); + modes[acline_status], freq); } - if (set_freq(freqs[0]) != 0) { + if (set_freq(freq) != 0) { warn("error setting CPU freq %d", - freqs[0]); + freq); continue; } } @@ -578,44 +627,59 @@ main(int argc, char * argv[]) } /* Adaptive mode; get the current CPU usage times. */ - if (read_usage_times(&idle, &total)) { + if (read_usage_times(&load)) { if (vflag) warn("read_usage_times() failed"); continue; } - - /* - * If we're idle less than the active mark, bump up two levels. - * If we're idle more than the idle mark, drop down one level. - */ - for (i = 0; i < numfreqs - 1; i++) { - if (freqs[i] == curfreq) - break; - } - if (idle < (total * cpu_running_mark) / 100 && - curfreq < freqs[0]) { - i -= 2; - if (i < 0) - i = 0; - if (vflag) { - printf("idle time < %d%%, increasing clock" - " speed from %d MHz to %d MHz\n", - cpu_running_mark, curfreq, freqs[i]); + + if (mode == MODE_ADAPTIVE) { + if (load > cpu_running_mark) { + if (load > 95 || load > cpu_running_mark * 2) + freq *= 2; + else + freq = freq * load / cpu_running_mark; + if (freq > freqs[0]) + freq = freqs[0]; + } else if (load < cpu_idle_mark && + curfreq * load < freqs[get_freq_id( + freq * 7 / 8, freqs, numfreqs)] * + cpu_running_mark) { + freq = freq * 7 / 8; + if (freq < freqs[numfreqs - 1]) + freq = freqs[numfreqs - 1]; } - if (set_freq(freqs[i])) - warn("error setting CPU frequency %d", - freqs[i]); - } else if (idle > (total * cpu_idle_mark) / 100 && - curfreq > freqs[numfreqs - 1]) { - i++; + } else { /* MODE_HIADAPTIVE */ + if (load > cpu_running_mark / 2) { + if (load > 95 || load > cpu_running_mark) + freq *= 4; + else + freq = freq * load * 2 / cpu_running_mark; + if (freq > freqs[0] * 2) + freq = freqs[0] * 2; + } else if (load < cpu_idle_mark / 2 && + curfreq * load < freqs[get_freq_id( + freq * 31 / 32, freqs, numfreqs)] * + cpu_running_mark / 2) { + freq = freq * 31 / 32; + if (freq < freqs[numfreqs - 1]) + freq = freqs[numfreqs - 1]; + } + } + if (vflag) { + printf("load %3d%%, current freq %4d MHz (%2d), wanted freq %4d MHz\n", + load, curfreq, i, freq); + } + j = get_freq_id(freq, freqs, numfreqs); + if (i != j) { if (vflag) { - printf("idle time > %d%%, decreasing clock" + printf("changing clock" " speed from %d MHz to %d MHz\n", - cpu_idle_mark, curfreq, freqs[i]); + freqs[i], freqs[j]); } - if (set_freq(freqs[i]) != 0) + if (set_freq(freqs[j])) warn("error setting CPU frequency %d", - freqs[i]); + freqs[j]); } } free(freqs); From aragon at phat.za.net Wed Nov 5 14:19:43 2008 From: aragon at phat.za.net (Aragon Gouveia) Date: Wed Nov 5 14:19:49 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <491208D3.2050901@FreeBSD.org> References: <491208D3.2050901@FreeBSD.org> Message-ID: <20081105221941.GA80895@phat.za.net> | By Alexander Motin | [ 2008-11-05 22:58 +0200 ] > 1. To make it more SMP polite. Previous version uses average CPU load > that leads to the often load underestimation. It make powerd with > default configuration unusable on systems with more then 2 CPUs. I > propose to use summary load instead of average one. IMO this is the best > we can do without specially tuned scheduler. Also as soon as measuring > total load on SMP systems is more useful then total idle, I have > switched to it. > > 2. To make powerd's operation independent from number and size of > frequency levels I have added internal frequency counter which > translated into real frequencies only on a last stage and only as good > as gone. Some systems may have only several power levels, while mine has > 17 of them, so adaptation time in completely different. It would be good > if algorithm was not depending on it. > > 3. As part of previous I have changed adaptive mode to rise frequency on > demand up to 2 times and fall on 1/8 per time internal. > > 4. For desktop (AC-powered) systems I have added one more mode - > "hiadaptive". It rises frequency twice faster, drops it 4 times slower, > prefers twice lower CPU load and has additional delay before leaving the > highest frequency after the period of maximum load. This mode was > specially made to improve interactivity of the systems where operation > capabilities are more significant then power consumption, but keeping > maximum frequency all the time is not needed. I've thought of some of these too so will be trying your patch very soon and report back. Thanks for your work! > 5. I have reduced polling interval from 1/2 to 1/4 of second. It is not > important for algorithm math now, but gives better system interactivity. Something I've wondered about is the value of having a variable polling interval. My thinking is that on a workstation that stays powered 24/7 and is unmanned for hours at a time, it might be useful for the polling interval to drop significantly over time if load remains low. Something else that'd be useful is an interface to allow operators to change powerd's behaviour without restarting it with different paramters. Regards, Aragon From sam at freebsd.org Wed Nov 5 17:30:10 2008 From: sam at freebsd.org (Sam Leffler) Date: Wed Nov 5 17:30:16 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <491208D3.2050901@FreeBSD.org> References: <491208D3.2050901@FreeBSD.org> Message-ID: <491248A1.4040607@freebsd.org> The biggest problem I see with powerd is that when a system is running with a reduced clock frequency interrupts are not processed at full clock speed. This, for example, breaks the ath driver which can generate interrupts very quickly when h/w MIB counters overflow in a noisy environment. Because processing happens at the reduced frequency until powerd gets to run it causes livelock (or perhaps powerd does not raise the clock frequency because it's only accounting for user code--I haven't looked). There's been talk about temporarily boosting the clock frequency in the kernel when processing interrupts. Sam From mav at FreeBSD.org Wed Nov 5 23:02:23 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Wed Nov 5 23:02:30 2008 Subject: RFC: powerd algorithms enhancements Message-ID: <200811060901400000@466321507> > The biggest problem I see with powerd is that when a system is running > with a reduced clock frequency interrupts are not processed at full > clock speed. This, for example, breaks the ath driver which can > generate interrupts very quickly when h/w MIB counters overflow in a > noisy environment. Because processing happens at the reduced frequency > until powerd gets to run it causes livelock You wanted to say that ath driver/hardware unable to operate on slow CPUs? Ok, but may be it is an ath driver problem? May be it must use some kind of interrupt moderation to avoid it? > (or perhaps powerd does not > raise the clock frequency because it's only accounting for user code--I > haven't looked). powerd counts all nonidle load from system CPU stats. My patch makes it even more accurate in some cases. > There's been talk about temporarily boosting the clock frequency in the > kernel when processing interrupts. I am not sure it is a good idea. First, CPU may not be able to adapt it's power (voltage) level so fast, and the second, one of powerd goals is to deny CPU reach full frequency until it is really needed to reduce peak current cunsumption which will drain battery faster. -- Alexander Motin From obf at gmx.de Thu Nov 6 03:52:34 2008 From: obf at gmx.de (Oliver Fischer) Date: Thu Nov 6 03:52:42 2008 Subject: S4 support on FBSD 7 or higher? Message-ID: <4912D19F.2090906@gmx.de> Dear all, after some years without FreeBSD I would like to run one of the new Thinkpad models with FreeBSD. One very important feature for me is Suspend To Disk aka S4. Does anyone know if S4 is supported in version 7 or higher? Best regards Oliver 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:13 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-mobile/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:35 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:49 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-mobile/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:34 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 torfinn.ingolfsen at broadpark.no Thu Nov 6 08:11:27 2008 From: torfinn.ingolfsen at broadpark.no (Torfinn Ingolfsen) Date: Thu Nov 6 08:11:34 2008 Subject: S4 support on FBSD 7 or higher? In-Reply-To: <4912D19F.2090906@gmx.de> References: <4912D19F.2090906@gmx.de> Message-ID: <20081106171125.e6dc5fa8.torfinn.ingolfsen@broadpark.no> On Thu, 06 Nov 2008 12:14:39 +0100 Oliver Fischer wrote: > Dear all, > > after some years without FreeBSD I would like to run one of the new > Thinkpad models with FreeBSD. One very important feature for me is > Suspend To Disk aka S4. Does anyone know if S4 is supported in > version 7 or higher? Answer: "it depends". It depends on - specific model of laptop - bios correctness - user willingness to fiddle with setup Search he archives of this mailinglist with suitable keywods (thinkpad + suspend) and you will see that this is not a clear picture. HTH -- Regards, Torfinn Ingolfsen From sam at freebsd.org Thu Nov 6 08:22:26 2008 From: sam at freebsd.org (Sam Leffler) Date: Thu Nov 6 08:22:33 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <200811060901400000@466321507> References: <200811060901400000@466321507> Message-ID: <491319C0.8090201@freebsd.org> Alexander Motin wrote: >> The biggest problem I see with powerd is that when a system is running >> with a reduced clock frequency interrupts are not processed at full >> clock speed. This, for example, breaks the ath driver which can >> generate interrupts very quickly when h/w MIB counters overflow in a >> noisy environment. Because processing happens at the reduced frequency >> until powerd gets to run it causes livelock >> > > You wanted to say that ath driver/hardware unable to operate on slow CPUs? Ok, but may be it is an ath driver problem? May be it must use some kind of interrupt moderation to avoid it? > You didn't understand me. I used ath as an example of the general problem. > >> (or perhaps powerd does not >> raise the clock frequency because it's only accounting for user code--I >> haven't looked). >> > > powerd counts all nonidle load from system CPU stats. My patch makes it even more accurate in some cases. > > >> There's been talk about temporarily boosting the clock frequency in the >> kernel when processing interrupts. >> > > I am not sure it is a good idea. First, CPU may not be able to adapt it's power (voltage) level so fast, and the second, one of powerd goals is to deny CPU reach full frequency until it is really needed to reduce peak current cunsumption which will drain battery faster. > > I believe other systems use strategies similar to what I described. John Baldwin and I have talked about this in the past. I was just trying to get you interested in looking at a more important problem. Sam 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:39 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-mobile/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:23 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 mav at FreeBSD.org Thu Nov 6 09:12:39 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Thu Nov 6 09:12:46 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <491319C0.8090201@freebsd.org> References: <200811060901400000@466321507> <491319C0.8090201@freebsd.org> Message-ID: <49132585.4070601@FreeBSD.org> Sam Leffler wrote: > Alexander Motin wrote: >>> The biggest problem I see with powerd is that when a system is >>> running with a reduced clock frequency interrupts are not processed >>> at full clock speed. This, for example, breaks the ath driver which >>> can generate interrupts very quickly when h/w MIB counters overflow >>> in a noisy environment. Because processing happens at the reduced >>> frequency until powerd gets to run it causes livelock >> >> You wanted to say that ath driver/hardware unable to operate on slow >> CPUs? Ok, but may be it is an ath driver problem? May be it must use >> some kind of interrupt moderation to avoid it? > > You didn't understand me. I used ath as an example of the general problem. I understand you. The real problem I see here is that any hardware interrupts now can livelock the system. It is not limited to ath. Big packet rate on any fast enough interface that has any significant receive processing is able to make system not responding, just because interrupts will consume all available CPU time. powerd just makes that situation more probable as it significantly reduces CPU performance. Just insert gigabit card into Pentium-100 system and you will not be able to get there onder the load of only did not using device polling mode. Rising frequency on interrupt processing _will_not_ fix the problem, but just hide it for some time, until newer network cards will be able to handle higher packet rate. I think the only solutions for this case can be in allowing scheduler to really do it's job. Or by moving _everything_ out of interrupt threads to make them extremely fast and so to avoid the livelock problem, or in some other way allow scheduler to delay interrupt processing to allow other (for example user-level) threads to obtain at least some part of their CPU time slot according to their priorities. I don't see how powerd itself could do at least anything with this. -- Alexander Motin From lme at FreeBSD.org Thu Nov 6 09:28:52 2008 From: lme at FreeBSD.org (Lars Engels) Date: Thu Nov 6 09:29:03 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-mobile/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:51 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:17 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-mobile/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:20 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:57 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:32 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-mobile/attachments/20081106/c80c07fd/attachment.pgp From mav at FreeBSD.org Thu Nov 6 11:02:06 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Thu Nov 6 11:02:12 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 lme at FreeBSD.org Thu Nov 6 11:04:30 2008 From: lme at FreeBSD.org (Lars Engels) Date: Thu Nov 6 11:04:42 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-mobile/attachments/20081106/eeb6a9c0/attachment.pgp From mav at FreeBSD.org Thu Nov 6 11:10:32 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Thu Nov 6 11:10:43 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 lme at FreeBSD.org Thu Nov 6 11:23:57 2008 From: lme at FreeBSD.org (Lars Engels) Date: Thu Nov 6 11:24:20 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-mobile/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:11 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-mobile/attachments/20081106/1c31537f/attachment.pgp From mav at FreeBSD.org Thu Nov 6 12:02:34 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Thu Nov 6 12:02:41 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 lme at FreeBSD.org Thu Nov 6 13:05:47 2008 From: lme at FreeBSD.org (Lars Engels) Date: Thu Nov 6 13:06:07 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-mobile/attachments/20081106/4f5a9daa/attachment.pgp From mav at FreeBSD.org Thu Nov 6 14:12:46 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Thu Nov 6 14:12:57 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 mav at FreeBSD.org Thu Nov 6 14:48:17 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Thu Nov 6 14:48:28 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 smithi at nimnet.asn.au Thu Nov 6 21:20:25 2008 From: smithi at nimnet.asn.au (Ian Smith) Date: Thu Nov 6 21:20:32 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <491208D3.2050901@FreeBSD.org> References: <491208D3.2050901@FreeBSD.org> Message-ID: <20081107033524.A70117@sola.nimnet.asn.au> On Wed, 5 Nov 2008, Alexander Motin wrote: > Hi. Hi, sounds like sound's more or less under control, time on your hands? :) > I would like to propose the patch for powerd that fixes some issues, makes it > more universal and on my opinion more usable. The main ideas of mine were: > > 1. To make it more SMP polite. Previous version uses average CPU load that > leads to the often load underestimation. It make powerd with default > configuration unusable on systems with more then 2 CPUs. I propose to use > summary load instead of average one. IMO this is the best we can do without > specially tuned scheduler. Also as soon as measuring total load on SMP > systems is more useful then total idle, I have switched to it. Ok, very interesting. First, is this against CURRENT, or to what CVS version, so I can read patched version in full? Any change to .h files? : --- powerd.c.prev 2008-07-29 21:51:52.000000000 +0300 : +++ powerd.c 2008-11-05 22:51:35.000000000 +0200 : @@ -50,13 +50,14 @@ __FBSDID("$FreeBSD: src/usr.sbin/powerd/ > 2. To make powerd's operation independent from number and size of frequency > levels I have added internal frequency counter which translated into real > frequencies only on a last stage and only as good as gone. Some systems may > have only several power levels, while mine has 17 of them, so adaptation time > in completely different. It would be good if algorithm was not depending on > it. There were some XXX comments re longterm allowance for running different cpus at different freqs .. I don't know if that's anything to consider? > 3. As part of previous I have changed adaptive mode to rise frequency on > demand up to 2 times and fall on 1/8 per time internal. I'm wondering how the edge case with only 2 freqs would go? Eg on my T23, single cpu P3 Mobile at 1133 and 733MHz. That is, I'm wondering if your 1/8 factor might better be scaled to no. of cpus and/or no. of freqs available? I'd best say no more until studying your algorithm .. > 4. For desktop (AC-powered) systems I have added one more mode - > "hiadaptive". It rises frequency twice faster, drops it 4 times slower, > prefers twice lower CPU load and has additional delay before leaving the > highest frequency after the period of maximum load. This mode was specially > made to improve interactivity of the systems where operation capabilities are > more significant then power consumption, but keeping maximum frequency all > the time is not needed. Great idea. And one (not so) small step towards some proper profiles, where various degrees of performance vs responsiveness vs power use can be setup by the user .. extending now binary AC/battery power_profile choices (starting freq, lowest Cx state), later perhaps tying in with the shutdown/wakeup stuff for both system and individual devices (eg D states). Sorry, just musing aloud .. this has needed a kick for ages :) > 5. I have reduced polling interval from 1/2 to 1/4 of second. It is not > important for algorithm math now, but gives better system interactivity. You mean the default polling interval I guess, as it's tuneable at least on powerd startup, as are the loaded/idle points, which as someone else mentioned, might be more dynamically modified while powerd is running? I guess jhb is in this loop? Most powerd dev has been in acpi@ at least to date, and I gather there's a fair overlap of participants, but I best not presume too much .. sam's concerns seem tied in with the same kernel cpu freq setting stuff, so I gather all that is connected long term .. Then if you get really bored :) SMP suspend/resume and S4 suspend to disk need a champion .. both of which have at least begun in acpi@. cheers, Ian From mav at FreeBSD.org Fri Nov 7 01:02:27 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Fri Nov 7 01:02:33 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <20081107033524.A70117@sola.nimnet.asn.au> References: <491208D3.2050901@FreeBSD.org> <20081107033524.A70117@sola.nimnet.asn.au> Message-ID: <4914041F.2040101@FreeBSD.org> Ian Smith wrote: > Hi, sounds like sound's more or less under control, time on your hands? :) There are many subsystems used in my laptop. :) > > I would like to propose the patch for powerd that fixes some issues, makes it > > more universal and on my opinion more usable. The main ideas of mine were: > > > > 1. To make it more SMP polite. Previous version uses average CPU load that > > leads to the often load underestimation. It make powerd with default > > configuration unusable on systems with more then 2 CPUs. I propose to use > > summary load instead of average one. IMO this is the best we can do without > > specially tuned scheduler. Also as soon as measuring total load on SMP > > systems is more useful then total idle, I have switched to it. > > Ok, very interesting. First, is this against CURRENT, or to what CVS > version, so I can read patched version in full? Any change to .h files? It's against the HEAD, but applies to 7-STABLE as well. > > 2. To make powerd's operation independent from number and size of frequency > > levels I have added internal frequency counter which translated into real > > frequencies only on a last stage and only as good as gone. Some systems may > > have only several power levels, while mine has 17 of them, so adaptation time > > in completely different. It would be good if algorithm was not depending on > > it. > > There were some XXX comments re longterm allowance for running different > cpus at different freqs .. I don't know if that's anything to consider? I don't understand which comments do you mean. But I think that it is now ineffective to run different CPUs ad different frequencies. To do it we should have scheduler aware of CPUs speed to avoid using powered down ones where it is possible. Now it will just lead to significant performance degradation because of CPU load underestimation. > > 3. As part of previous I have changed adaptive mode to rise frequency on > > demand up to 2 times and fall on 1/8 per time internal. > > I'm wondering how the edge case with only 2 freqs would go? Eg on my > T23, single cpu P3 Mobile at 1133 and 733MHz. That is, I'm wondering if > your 1/8 factor might better be scaled to no. of cpus and/or no. of > freqs available? I'd best say no more until studying your algorithm .. I have not such case, but I think there should be no problem. > > 4. For desktop (AC-powered) systems I have added one more mode - > > "hiadaptive". It rises frequency twice faster, drops it 4 times slower, > > prefers twice lower CPU load and has additional delay before leaving the > > highest frequency after the period of maximum load. This mode was specially > > made to improve interactivity of the systems where operation capabilities are > > more significant then power consumption, but keeping maximum frequency all > > the time is not needed. > > Great idea. And one (not so) small step towards some proper profiles, > where various degrees of performance vs responsiveness vs power use can > be setup by the user .. extending now binary AC/battery power_profile > choices (starting freq, lowest Cx state), later perhaps tying in with > the shutdown/wakeup stuff for both system and individual devices (eg D > states). Sorry, just musing aloud .. this has needed a kick for ages :) Move configuration from command line into configuration file will allow more customized profiles to be written, so if somebody wants to - he may do it. For trivial command line configuration this solution looks like appropriate. > > 5. I have reduced polling interval from 1/2 to 1/4 of second. It is not > > important for algorithm math now, but gives better system interactivity. > > You mean the default polling interval I guess, as it's tuneable at least > on powerd startup, as are the loaded/idle points, which as someone else > mentioned, might be more dynamically modified while powerd is running? It's possible, but I don't see real reason to do it. Increased polling interval will lead to significant latency, while economy will be minimal. I think 2KHz of timer interrupts per CPU consume much more energy then powerd waking up 4 times per second. > Then if you get really bored :) SMP suspend/resume and S4 suspend to > disk need a champion .. both of which have at least begun in acpi@. If I do everything, there will nothing left to you. I don't want you to become upset. ;) -- Alexander Motin From gaijin.k at gmail.com Fri Nov 7 05:48:04 2008 From: gaijin.k at gmail.com (Alexandre "Sunny" Kovalenko) Date: Fri Nov 7 05:48:10 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <20081107033524.A70117@sola.nimnet.asn.au> References: <491208D3.2050901@FreeBSD.org> <20081107033524.A70117@sola.nimnet.asn.au> Message-ID: <1226065673.1210.9.camel@RabbitsDen> On Fri, 2008-11-07 at 16:20 +1100, Ian Smith wrote: > > sam's concerns seem tied in with the same kernel > cpu freq setting stuff, so I gather all that is connected long term .. Just to make sure all facts are spelled out: I have had reliable livelocks with ath + powerd on RELENG_7 with HAL 0.9.x.x. I have not seen single livelock since pulling HAL 0.10.5.10 in from -CURRENT. So ath is not that lily-white in that regard either. -- Alexandre "Sunny" Kovalenko (????????? ?????????) From sam at freebsd.org Fri Nov 7 08:18:06 2008 From: sam at freebsd.org (Sam Leffler) Date: Fri Nov 7 08:18:12 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <1226065673.1210.9.camel@RabbitsDen> References: <491208D3.2050901@FreeBSD.org> <20081107033524.A70117@sola.nimnet.asn.au> <1226065673.1210.9.camel@RabbitsDen> Message-ID: <49146A3D.2020400@freebsd.org> Alexandre "Sunny" Kovalenko wrote: > On Fri, 2008-11-07 at 16:20 +1100, Ian Smith wrote: > >> sam's concerns seem tied in with the same kernel >> cpu freq setting stuff, so I gather all that is connected long term .. >> > > Just to make sure all facts are spelled out: I have had reliable > livelocks with ath + powerd on RELENG_7 with HAL 0.9.x.x. I have not > seen single livelock since pulling HAL 0.10.5.10 in from -CURRENT. So > ath is not that lily-white in that regard either. > > You have no idea what you're talking about. Sam From smithi at nimnet.asn.au Fri Nov 7 20:12:01 2008 From: smithi at nimnet.asn.au (Ian Smith) Date: Fri Nov 7 20:12:09 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <4914041F.2040101@FreeBSD.org> References: <491208D3.2050901@FreeBSD.org> <20081107033524.A70117@sola.nimnet.asn.au> <4914041F.2040101@FreeBSD.org> Message-ID: <20081108141418.T70117@sola.nimnet.asn.au> On Fri, 7 Nov 2008, Alexander Motin wrote: > Ian Smith wrote: > > Hi, sounds like sound's more or less under control, time on your hands? :) > > There are many subsystems used in my laptop. :) Just as well .. > > > I would like to propose the patch for powerd that fixes some issues, makes it > > > more universal and on my opinion more usable. The main ideas of mine were: > > > > > > 1. To make it more SMP polite. Previous version uses average CPU load that > > > leads to the often load underestimation. It make powerd with default > > > configuration unusable on systems with more then 2 CPUs. I propose to use > > > summary load instead of average one. IMO this is the best we can do without > > > specially tuned scheduler. Also as soon as measuring total load on SMP > > > systems is more useful then total idle, I have switched to it. > > > > Ok, very interesting. First, is this against CURRENT, or to what CVS > > version, so I can read patched version in full? Any change to .h files? > > It's against the HEAD, but applies to 7-STABLE as well. Thanks; I've had a brief browse only so far, but like the approach. Not sure where you get these 7/8 and 31/32 factors from, and I've no hardware to test with lots of freqs, but I'm interested to see how things like hysteresis under constant but partial load operate (ie avoiding too much 'hunting' as freq change varies measured load ..) > > > 2. To make powerd's operation independent from number and size of frequency > > > levels I have added internal frequency counter which translated into real > > > frequencies only on a last stage and only as good as gone. Some systems may > > > have only several power levels, while mine has 17 of them, so adaptation time > > > in completely different. It would be good if algorithm was not depending on > > > it. Just for reference, could you show the levels you're working with? > > There were some XXX comments re longterm allowance for running different > > cpus at different freqs .. I don't know if that's anything to consider? > > I don't understand which comments do you mean. But I think that it is > now ineffective to run different CPUs ad different frequencies. To do it > we should have scheduler aware of CPUs speed to avoid using powered down > ones where it is possible. Now it will just lead to significant > performance degradation because of CPU load underestimation. I'll probably get in trouble because I'm referring to older sources and only have 5.5-STABLE to hand at the moment, but eg /sys/kern/kern_cpu.c: /* * Only initialize one set of sysctls for all CPUs. In the future, * if multiple CPUs can have different settings, we can move these * sysctls to be under every CPU instead of just the first one. */ and /* * While we only call cpufreq_get() on one device (assuming all * CPUs have equal levels), we call cpufreq_set() on all CPUs. * This is needed for some MP systems. */ and /* * Add only one cpufreq device to each CPU. Currently, all CPUs * must offer the same levels and be switched at the same time. */ I'm pretty sure I recall John Baldwin talking about this at some stage too, but it's been a year since I last tried figuring all this out. > > > 3. As part of previous I have changed adaptive mode to rise frequency on > > > demand up to 2 times and fall on 1/8 per time internal. > > > > I'm wondering how the edge case with only 2 freqs would go? Eg on my > > T23, single cpu P3 Mobile at 1133 and 733MHz. That is, I'm wondering if > > your 1/8 factor might better be scaled to no. of cpus and/or no. of > > freqs available? I'd best say no more until studying your algorithm .. > > I have not such case, but I think there should be no problem. Ok .. just to confirm I'm reading it right: you wind up using the first table freq BELOW the calculated desired freq, right? So with my case of 1133 & 733, if at 1133 and coming down, 7/8 * 1133 = 991, so select 733? > > > 4. For desktop (AC-powered) systems I have added one more mode - > > > "hiadaptive". It rises frequency twice faster, drops it 4 times slower, > > > prefers twice lower CPU load and has additional delay before leaving the > > > highest frequency after the period of maximum load. This mode was specially > > > made to improve interactivity of the systems where operation capabilities are > > > more significant then power consumption, but keeping maximum frequency all > > > the time is not needed. > > > > Great idea. And one (not so) small step towards some proper profiles, > > where various degrees of performance vs responsiveness vs power use can > > be setup by the user .. extending now binary AC/battery power_profile > > choices (starting freq, lowest Cx state), later perhaps tying in with > > the shutdown/wakeup stuff for both system and individual devices (eg D > > states). Sorry, just musing aloud .. this has needed a kick for ages :) > > Move configuration from command line into configuration file will allow > more customized profiles to be written, so if somebody wants to - he may > do it. For trivial command line configuration this solution looks like > appropriate. Sure. I do want to get to that, though C is mostly read-only for me, and there's still way too much I know way too little about :) but with modern laptops it's clear that just telling people to enable powerd isn't cutting it anymore, especially with the sort of issues people are seeing with systems dropping back to ridiculously low cpu freqs - like perhaps the default cpufreq.lowest ought to be initially set no lower than perhaps 1/8 of full speed, out of the box, to mitigate such issues? > > > 5. I have reduced polling interval from 1/2 to 1/4 of second. It is not > > > important for algorithm math now, but gives better system interactivity. > > > > You mean the default polling interval I guess, as it's tuneable at least > > on powerd startup, as are the loaded/idle points, which as someone else > > mentioned, might be more dynamically modified while powerd is running? > > It's possible, but I don't see real reason to do it. Increased polling > interval will lead to significant latency, while economy will be > minimal. I think 2KHz of timer interrupts per CPU consume much more > energy then powerd waking up 4 times per second. Ok. I'll do some testing when I get my 7-STABLE system back up. > > Then if you get really bored :) SMP suspend/resume and S4 suspend to > > disk need a champion .. both of which have at least begun in acpi@. > > If I do everything, there will nothing left to you. I don't want you to > become upset. ;) :) We appreciate that! cheers, Ian From smithi at nimnet.asn.au Fri Nov 7 20:29:59 2008 From: smithi at nimnet.asn.au (Ian Smith) Date: Fri Nov 7 20:30:05 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <1226065673.1210.9.camel@RabbitsDen> References: <491208D3.2050901@FreeBSD.org> <20081107033524.A70117@sola.nimnet.asn.au> <1226065673.1210.9.camel@RabbitsDen> Message-ID: <20081108012859.Y70117@sola.nimnet.asn.au> On Fri, 7 Nov 2008, Alexandre "Sunny" Kovalenko wrote: > On Fri, 2008-11-07 at 16:20 +1100, Ian Smith wrote: > > > > sam's concerns seem tied in with the same kernel > > cpu freq setting stuff, so I gather all that is connected long term .. > > Just to make sure all facts are spelled out: I have had reliable > livelocks with ath + powerd on RELENG_7 with HAL 0.9.x.x. I have not > seen single livelock since pulling HAL 0.10.5.10 in from -CURRENT. So > ath is not that lily-white in that regard either. Perhaps, but I see Sam pointing out that it's a more generic problem. Lots of high interrupt rate gadgets already, plenty more to come. How goes a big burst of gig ethernet on a box that's dropped back to 75MHz? Or fast USB, firewire, whatever .. meanwhile powerd is operating on an entirely different timing level, orders of magnitude less responsive. We're now seeing cpus that can vary freq, with absolute and relative cpufreq drivers enabled, in ratios up to 32:1 or so, so the advice, apart from 'disable powerd' :), seems to be to at least try setting cpufreq.lowest to some reasonable speed for workload, maybe 300MHz? So, at 75MHz it takes maybe 32 times as long to service an interrupt, unless the ISR itself sets freq, does its biz fast, resets freq (or schedules such, maybe) on exit. What sort of interrupt overhead that represents I've no idea, but it smells likely pretty significant, and sounds like a pretty major bit of redesign at kernel level, especially avoiding impacts of such overheads unless strictly necessary. And that from someone who's yet to study the scheduler/s at all .. :) cheers, Ian From mav at FreeBSD.org Fri Nov 7 20:52:34 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Fri Nov 7 20:52:42 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <20081108141418.T70117@sola.nimnet.asn.au> References: <491208D3.2050901@FreeBSD.org> <20081107033524.A70117@sola.nimnet.asn.au> <4914041F.2040101@FreeBSD.org> <20081108141418.T70117@sola.nimnet.asn.au> Message-ID: <49151B0B.3060308@FreeBSD.org> Ian Smith wrote: > Thanks; I've had a brief browse only so far, but like the approach. > Not sure where you get these 7/8 and 31/32 factors from, and I've no Just empirical. It's just a nice numbers which seem to give good enough results. > hardware to test with lots of freqs, but I'm interested to see how > things like hysteresis under constant but partial load operate (ie > avoiding too much 'hunting' as freq change varies measured load ..) If you will look closer, you will see that there is actually even two hysteresis present. First is the original "idle"/"running" planks. And the second one is the special check on reducing frequency that verifies that estimated load at lower frequency will be less then "running" plank. > > > > 2. To make powerd's operation independent from number and size of frequency > > > > levels I have added internal frequency counter which translated into real > > > > frequencies only on a last stage and only as good as gone. Some systems may > > > > have only several power levels, while mine has 17 of them, so adaptation time > > > > in completely different. It would be good if algorithm was not depending on > > > > it. > > Just for reference, could you show the levels you're working with? dev.cpu.0.freq_levels: 2400/35000 2100/30625 2000/28000 1750/24500 1600/22000 1400/19250 1200/16000 1050/14000 900/12000 800/14000 700/12250 600/10500 500/8750 400/7000 300/5250 200/3500 100/1750 > > > > 3. As part of previous I have changed adaptive mode to rise frequency on > > > > demand up to 2 times and fall on 1/8 per time internal. > > > > > > I'm wondering how the edge case with only 2 freqs would go? Eg on my > > > T23, single cpu P3 Mobile at 1133 and 733MHz. That is, I'm wondering if > > > your 1/8 factor might better be scaled to no. of cpus and/or no. of > > > freqs available? I'd best say no more until studying your algorithm .. > > > > I have not such case, but I think there should be no problem. > > Ok .. just to confirm I'm reading it right: you wind up using the first > table freq BELOW the calculated desired freq, right? So with my case of > 1133 & 733, if at 1133 and coming down, 7/8 * 1133 = 991, so select 733? No. I am using frequency equal or above to desired. So ad 991 I will still select 1133. 733 will be set only after 4 steps: 1133*7/8 => 991 991*7/8 => 867 867*7/8 => 758 758*7/8 => 733 > > Move configuration from command line into configuration file will allow > > more customized profiles to be written, so if somebody wants to - he may > > do it. For trivial command line configuration this solution looks like > > appropriate. > > Sure. I do want to get to that, though C is mostly read-only for me, > and there's still way too much I know way too little about :) but with > modern laptops it's clear that just telling people to enable powerd > isn't cutting it anymore, especially with the sort of issues people are > seeing with systems dropping back to ridiculously low cpu freqs - like > perhaps the default cpufreq.lowest ought to be initially set no lower > than perhaps 1/8 of full speed, out of the box, to mitigate such issues? Huge latency on low frequencies was actually that reason why I have started this work. Now with new exponential algorithms and reduced polling interval I am no longer experiencing any problems. Defining minimal CPU frequency is a completely wrong way IMO as it will not allow to really use all power management abilities. The main goal of the exponential frequency reducing, which I have implemented, was to increase time interval before setting lowest frequency. In my case, while working at 2400MHz, powerd will drop 300MHz per single 1/4s interval, but it will take 1.5s of completely idle CPU to drop from 200MHz to 100MHz on batteries and 5s on AC-power! -- Alexander Motin From mav at FreeBSD.org Fri Nov 7 21:19:22 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Fri Nov 7 21:19:27 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <20081108012859.Y70117@sola.nimnet.asn.au> References: <491208D3.2050901@FreeBSD.org> <20081107033524.A70117@sola.nimnet.asn.au> <1226065673.1210.9.camel@RabbitsDen> <20081108012859.Y70117@sola.nimnet.asn.au> Message-ID: <49152158.9090207@FreeBSD.org> Ian Smith wrote: > We're now seeing cpus that can vary freq, with absolute and relative > cpufreq drivers enabled, in ratios up to 32:1 or so, so the advice, > apart from 'disable powerd' :), seems to be to at least try setting > cpufreq.lowest to some reasonable speed for workload, maybe 300MHz? I surely should not be the default, but it is reasonable if systems should have some guarantied minimal performance. PS: At any modern SMP/HTT system, even if scheduler is unable to manage this IRQ situation, powerd running on different CPU will rise clock to required level just in second. It is hard to lock-out all CPUs same time. It's surely not solution, but still... -- Alexander Motin From oberman at es.net Sat Nov 8 08:13:47 2008 From: oberman at es.net (Kevin Oberman) Date: Sat Nov 8 08:13:53 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: Your message of "Sat, 08 Nov 2008 07:19:20 +0200." <49152158.9090207@FreeBSD.org> Message-ID: <20081108160342.0F91945010@ptavv.es.net> > Date: Sat, 08 Nov 2008 07:19:20 +0200 > From: Alexander Motin > Sender: owner-freebsd-mobile@freebsd.org > > Ian Smith wrote: > > We're now seeing cpus that can vary freq, with absolute and relative > > cpufreq drivers enabled, in ratios up to 32:1 or so, so the advice, > > apart from 'disable powerd' :), seems to be to at least try setting > > cpufreq.lowest to some reasonable speed for workload, maybe 300MHz? > > I surely should not be the default, but it is reasonable if systems > should have some guarantied minimal performance. > > PS: At any modern SMP/HTT system, even if scheduler is unable to manage > this IRQ situation, powerd running on different CPU will rise clock to > required level just in second. It is hard to lock-out all CPUs same > time. It's surely not solution, but still... While I am hardly an expert on CPU power management, I have done a lot of testing and benchmarking and I really think that FreeBSD uses CPU throttling and/or P4TCC lin a manner not intended by Intel and not as Windows does and I think that is why we have the problem. TCC was designed to be used for thermal control and I suspect, though I have no documentation to support it, that throttling was, as well. They were to allow the temperature of the CPU to be kept at a safe level when, due to inadequate heat transfer or some other problem, a CPU could be getting hot enough to damage itself. While both result in steps of 12.5% reduction in speed, for their designed purpose, they probably will only be used when the CPU is being clocked (or over-clocked) at its highest speed and will only be slowed by, perhaps, 25 or 37.5%, not 75 or 87.5%. Those long pauses simply don't work well. SpeedStep, EST, Cool 'n' Quiet, and the like are designed for power management and my tests have shown them to be far more effective for this than throttling. I simply disable both TCC and throttling and let EST/Cool 'n' Quiet do the job. It seem almost as effective in reducing power consumption and provides better responsiveness in my systems. It does mean that, instead of 32 speeds, I have only 5, ranging from 2 GHz down to .8 Ghz, but that is quite adequate for my needs. Note that this applies to newer systems. SpeedStep was not very good and TCC/throttling was probably needed on old systems. (It was on my old 1 GHz P4, at least.) But modern systems seem happiest and most efficient when just using the tools designed for power management. -- R. Kevin Oberman, Network Engineer Energy Sciences Network (ESnet) Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab) E-mail: oberman@es.net Phone: +1 510 486-8634 Key fingerprint:059B 2DDF 031C 9BA3 14A4 EADA 927D EBB3 987B 3751 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 224 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-mobile/attachments/20081108/d7f3eca9/attachment.pgp From mav at FreeBSD.org Sat Nov 8 09:16:09 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Sat Nov 8 09:18:24 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <20081108160342.0F91945010@ptavv.es.net> References: <20081108160342.0F91945010@ptavv.es.net> Message-ID: <4915C956.8090509@FreeBSD.org> Kevin Oberman wrote: > While I am hardly an expert on CPU power management, I have done a lot > of testing and benchmarking and I really think that FreeBSD uses CPU > throttling and/or P4TCC lin a manner not intended by Intel and not as > Windows does and I think that is why we have the problem. > > TCC was designed to be used for thermal control and I suspect, though I > have no documentation to support it, that throttling was, as well. They > were to allow the temperature of the CPU to be kept at a safe level > when, due to inadequate heat transfer or some other problem, a CPU could > be getting hot enough to damage itself. TCC affects only frequency, but not the voltage. So it reduces active consumption together with performance. But idle consumption depends on presence of different power-saving technologies. For example I have done tests some time ago which show that TCC gives benefits on idle when C1E is not present of disabled. As soon as C1E on modern CPUs anyway disables frequency when idle, TCC is just unable to propose anything better. > While both result in steps of 12.5% reduction in speed, for their > designed purpose, they probably will only be used when the CPU is being > clocked (or over-clocked) at its highest speed and will only be slowed > by, perhaps, 25 or 37.5%, not 75 or 87.5%. Those long pauses simply > don't work well. From overheat protection point of view I don't see the reason why TCC can't be combined with EST. EST is surely more effective as it also controls CPU voltage. We should just be sure that while creating combined frequency list we are always using lowest possible EST profile. If it happen that due to uneven dividers we can get 200MHz using TCC divider from some higher frequency or 300MHz by EST we should probably prefer last one. > SpeedStep, EST, Cool 'n' Quiet, and the like are designed for power > management and my tests have shown them to be far more effective for > this than throttling. I simply disable both TCC and throttling and let > EST/Cool 'n' Quiet do the job. It seem almost as effective in reducing > power consumption and provides better responsiveness in my systems. It > does mean that, instead of 32 speeds, I have only 5, ranging from 2 GHz > down to .8 Ghz, but that is quite adequate for my needs. EST at the same time controls CPU voltage, so it effective for both active and idle states and does not depends on C1E. Only deeper Cx sleep states are able to give something comparing to EST on idle consumption. > Note that this applies to newer systems. SpeedStep was not very good and > TCC/throttling was probably needed on old systems. (It was on my old 1 > GHz P4, at least.) But modern systems seem happiest and most efficient > when just using the tools designed for power management. As I understand TCC is effective for CPUs without C1E support enabled. SpeedStep and EST may also have some opponents from Cx world. So here is a big question how can we distinguish which CPU capabilities are most power-effective for this specific CPU? From other point view may left kernel things as is, but teach powerd to use only EST/C'n'Q frequencies for power saving when they are available. EST freqs are available via sysctl now, so it's not difficult. I don't have C'n'Q systems to check it, but it should not be a problem to make the same there. If we sometimes wish to do passive temperature control, we could use full combined set of frequencies. -- Alexander Motin From oberman at es.net Sat Nov 8 12:05:24 2008 From: oberman at es.net (Kevin Oberman) Date: Sat Nov 8 12:05:32 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: Your message of "Sat, 08 Nov 2008 19:16:06 +0200." <4915C956.8090509@FreeBSD.org> Message-ID: <20081108200522.C3E0F45010@ptavv.es.net> > Date: Sat, 08 Nov 2008 19:16:06 +0200 > From: Alexander Motin > > Kevin Oberman wrote: > > While I am hardly an expert on CPU power management, I have done a lot > > of testing and benchmarking and I really think that FreeBSD uses CPU > > throttling and/or P4TCC lin a manner not intended by Intel and not as > > Windows does and I think that is why we have the problem. > > > > TCC was designed to be used for thermal control and I suspect, though I > > have no documentation to support it, that throttling was, as well. They > > were to allow the temperature of the CPU to be kept at a safe level > > when, due to inadequate heat transfer or some other problem, a CPU could > > be getting hot enough to damage itself. > > TCC affects only frequency, but not the voltage. So it reduces active > consumption together with performance. But idle consumption depends on > presence of different power-saving technologies. For example I have done > tests some time ago which show that TCC gives benefits on idle when C1E > is not present of disabled. As soon as C1E on modern CPUs anyway > disables frequency when idle, TCC is just unable to propose anything better. Actually, it's worse than that. They actually don't change either frequency or voltage. They simply stall the CPU for between 1 and 7 clock cycles out of every 8. The actual frequency is never changed. But it is true that they don't cut power consumption at idle and don't really result in any real economy under even partial load. My tests show a power consumption at full CPU load decreases in exact tandem with performance. (This was NOT a surprise.) So CPU intensive operations simply ran longer, but used exactly the same amount of power. No win at all. Under moderate loads, such as playing video or music, I hoped to see a real win, but powerd kept the CPU speed way too high in these cases and, again, not much gain. Bu forcing the TCC to a level where the CPU was loaded to about 75% of max, I could get a win, but I really don't see it as worthwhile. It really saved little. > > While both result in steps of 12.5% reduction in speed, for their > > designed purpose, they probably will only be used when the CPU is being > > clocked (or over-clocked) at its highest speed and will only be slowed > > by, perhaps, 25 or 37.5%, not 75 or 87.5%. Those long pauses simply > > don't work well. > > From overheat protection point of view I don't see the reason why TCC > can't be combined with EST. EST is surely more effective as it also > controls CPU voltage. We should just be sure that while creating > combined frequency list we are always using lowest possible EST profile. > If it happen that due to uneven dividers we can get 200MHz using TCC > divider from some higher frequency or 300MHz by EST we should probably > prefer last one. I'd need to do more testing "modern" hardware to verify this, but I think you are probably right. All of the systems I have tested on are uniprocessors, none less than 2 years old. (I last did testing on this about 2 years ago.) I really should have tried to take the effects of Cx states into account, but all of the testing was done with processor states disabled (hw.acpi.cpu.cx_lowest=C1). > > SpeedStep, EST, Cool 'n' Quiet, and the like are designed for power > > management and my tests have shown them to be far more effective for > > this than throttling. I simply disable both TCC and throttling and let > > EST/Cool 'n' Quiet do the job. It seem almost as effective in reducing > > power consumption and provides better responsiveness in my systems. It > > does mean that, instead of 32 speeds, I have only 5, ranging from 2 GHz > > down to .8 Ghz, but that is quite adequate for my needs. > > EST at the same time controls CPU voltage, so it effective for both > active and idle states and does not depends on C1E. Only deeper Cx sleep > states are able to give something comparing to EST on idle consumption. No argument. EST is a very real win, either at idle or under load. It is a huge win for moderate, ongoing loads like video or music. > > Note that this applies to newer systems. SpeedStep was not very good and > > TCC/throttling was probably needed on old systems. (It was on my old 1 > > GHz P4, at least.) But modern systems seem happiest and most efficient > > when just using the tools designed for power management. > > As I understand TCC is effective for CPUs without C1E support enabled. > SpeedStep and EST may also have some opponents from Cx world. So here is > a big question how can we distinguish which CPU capabilities are most > power-effective for this specific CPU? > > From other point view may left kernel things as is, but teach powerd to > use only EST/C'n'Q frequencies for power saving when they are available. > EST freqs are available via sysctl now, so it's not difficult. I don't > have C'n'Q systems to check it, but it should not be a problem to make > the same there. > If we sometimes wish to do passive temperature control, we could use > full combined set of frequencies. I think we are in pretty complete agreement. Testing this sort of thing is tricky and complex. Due to newer capabilities, the testing I did would need a lot of re-design to provide good data on modern systems. It should also look at the impact of Cx states. I'd also like a good reference on c1e as I don't really understand what it does, only that it is an extension to C1 state that improves power economy without the penalties of deeper sleep states. -- R. Kevin Oberman, Network Engineer Energy Sciences Network (ESnet) Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab) E-mail: oberman@es.net Phone: +1 510 486-8634 Key fingerprint:059B 2DDF 031C 9BA3 14A4 EADA 927D EBB3 987B 3751 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 224 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-mobile/attachments/20081108/64dade47/attachment.pgp From aragon at phat.za.net Mon Nov 10 11:41:20 2008 From: aragon at phat.za.net (Aragon Gouveia) Date: Mon Nov 10 11:41:27 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <491208D3.2050901@FreeBSD.org> References: <491208D3.2050901@FreeBSD.org> Message-ID: <20081110194119.GA57753@phat.za.net> | By Alexander Motin | [ 2008-11-05 22:58 +0200 ] > I would like to propose the patch for powerd that fixes some issues, > makes it more universal and on my opinion more usable. The main ideas of > mine were: I've just tested your patch. Responsiveness from idle is definitely improved. I was running a polling frequency of 100 with the old powerd to get good responsiveness out of it, but it's not needed with this. Especially on my notebook with 16 frequencies... Hiadaptive makes things even faster, but it's a bit heavy for notebook use. I'm running hiadaptive on my workstation for now. Thanks for your work! Regards, Aragon From jhb at freebsd.org Wed Nov 12 05:12:01 2008 From: jhb at freebsd.org (John Baldwin) Date: Wed Nov 12 05:12:14 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <49132585.4070601@FreeBSD.org> References: <200811060901400000@466321507> <491319C0.8090201@freebsd.org> <49132585.4070601@FreeBSD.org> Message-ID: <200811111206.53809.jhb@freebsd.org> On Thursday 06 November 2008 12:12:37 pm Alexander Motin wrote: > Sam Leffler wrote: > > Alexander Motin wrote: > >>> The biggest problem I see with powerd is that when a system is > >>> running with a reduced clock frequency interrupts are not processed > >>> at full clock speed. This, for example, breaks the ath driver which > >>> can generate interrupts very quickly when h/w MIB counters overflow > >>> in a noisy environment. Because processing happens at the reduced > >>> frequency until powerd gets to run it causes livelock > >> > >> You wanted to say that ath driver/hardware unable to operate on slow > >> CPUs? Ok, but may be it is an ath driver problem? May be it must use > >> some kind of interrupt moderation to avoid it? > > > > You didn't understand me. I used ath as an example of the general problem. > > I understand you. The real problem I see here is that any hardware > interrupts now can livelock the system. It is not limited to ath. Big > packet rate on any fast enough interface that has any significant > receive processing is able to make system not responding, just because > interrupts will consume all available CPU time. On my laptop the ACPI SCI is the culprit. If I let the CPU drop below 400 mhz, the GPE handler for temperature updates takes so long to run the CPU spends the entire time processing GPEs and never runs userland. Thus, powerd never gets to run. This happens on a "modern" laptop, not a Pentium-100. And actually, at certain speeds it would eventually let userland run enough to bump up. I actually added KTR_SCHED events for ACPI GPE and Task handling and hacked schedgraph to parse them and thus had pretty pictures showing the GPE handler using all CPU time during the multiple-second "hangs" I would get on my laptop with powerd. > powerd just makes that situation more probable as it significantly > reduces CPU performance. Just insert gigabit card into Pentium-100 > system and you will not be able to get there onder the load of only did > not using device polling mode. Rising frequency on interrupt processing > _will_not_ fix the problem, but just hide it for some time, until newer > network cards will be able to handle higher packet rate. It will definitely fix the problem on my laptop. > I think the only solutions for this case can be in allowing scheduler to > really do it's job. Or by moving _everything_ out of interrupt threads > to make them extremely fast and so to avoid the livelock problem, or in > some other way allow scheduler to delay interrupt processing to allow > other (for example user-level) threads to obtain at least some part of > their CPU time slot according to their priorities. > > I don't see how powerd itself could do at least anything with this. The point is that powerd is part of a CPU throttling strategy. If you are going to mess with powerd you need to do so in the context of the overall strategy. -- John Baldwin From mav at FreeBSD.org Wed Nov 12 14:40:39 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Wed Nov 12 14:40:45 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <200811111206.53809.jhb@freebsd.org> References: <200811060901400000@466321507> <491319C0.8090201@freebsd.org> <49132585.4070601@FreeBSD.org> <200811111206.53809.jhb@freebsd.org> Message-ID: <491B5B62.40609@FreeBSD.org> John Baldwin wrote: > On my laptop the ACPI SCI is the culprit. If I let the CPU drop below 400 > mhz, the GPE handler for temperature updates takes so long to run the CPU > spends the entire time processing GPEs and never runs userland. Thus, powerd > never gets to run. This happens on a "modern" laptop, not a Pentium-100. > And actually, at certain speeds it would eventually let userland run enough > to bump up. I actually added KTR_SCHED events for ACPI GPE and Task handling > and hacked schedgraph to parse them and thus had pretty pictures showing the > GPE handler using all CPU time during the multiple-second "hangs" I would get > on my laptop with powerd. If your system completely freezes at 400MHz, then it spends about 20% of CPU time on this at 2GHz. Doesn't it? With such amount of idle activity you system just unable to save any power! Your 100% running CPU at 400MHz will probably consume more power then any other really idle at 2GHz. If you think that this is normal then disabling powerd is the only way out for you. >> powerd just makes that situation more probable as it significantly >> reduces CPU performance. Just insert gigabit card into Pentium-100 >> system and you will not be able to get there onder the load of only did >> not using device polling mode. Rising frequency on interrupt processing >> _will_not_ fix the problem, but just hide it for some time, until newer >> network cards will be able to handle higher packet rate. > > It will definitely fix the problem on my laptop. No. It only hides the problem. >> I think the only solutions for this case can be in allowing scheduler to >> really do it's job. Or by moving _everything_ out of interrupt threads >> to make them extremely fast and so to avoid the livelock problem, or in >> some other way allow scheduler to delay interrupt processing to allow >> other (for example user-level) threads to obtain at least some part of >> their CPU time slot according to their priorities. >> >> I don't see how powerd itself could do at least anything with this. > > The point is that powerd is part of a CPU throttling strategy. If you are > going to mess with powerd you need to do so in the context of the overall > strategy. Can you show me this strategy to work in context? There was no significant changes at powerd for years. Now it does not works fine for SMP, it does not works fine for systems with big number of power levels, it's functionality is absolutely minimal. That's why I have touched it. There is several good ideas of future improvement was proposed, but nobody give me any real objections against what I have proposed. All of your objections is that your system unable to operate at low frequency. So how it is related to powerd and proposed patches? Here is how I see possible strategy: - Give more information to power controlling application: Differentiate between power level and throttling. Throttling is completely ineffective for CPUs supporting C1E, C2 and deeper states. It will give us better responsibility at equal power consumption. - Make scheduler to use some per-CPU power state priorities to allow us really disable unused cores/chips. - Reduce interrupt time to allow scheduler better handle process priorities and fight against IRQ livelocks. It does not depends on frequencies. What is your strategy vision? -- Alexander Motin From jorgen.asmussen at gmail.com Thu Nov 13 05:31:37 2008 From: jorgen.asmussen at gmail.com (Jok) Date: Thu Nov 13 05:31:45 2008 Subject: Memory leak in 80211node on FreeBSD 7.1-BETA2 Message-ID: # uname -a FreeBSD right.frequency.dk 7.1-BETA2 FreeBSD 7.1-BETA2 #0: Sun Oct 12 20:59:28 UTC 2008 root@driscoll.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 # vmstat -m Type InUse MemUse HighUse Requests Size(s) 80211node 17716 212570K - 20452 16,1024 The only related things I can find are links from 2005 and 2006 for FreeBSD 6.0. Anyone who knows how to fix it? From onemda at gmail.com Thu Nov 13 07:31:01 2008 From: onemda at gmail.com (Paul B. Mahol) Date: Thu Nov 13 07:31:12 2008 Subject: Memory leak in 80211node on FreeBSD 7.1-BETA2 In-Reply-To: References: Message-ID: <3a142e750811130731u537e24d9o7b57e5e022d66c82@mail.gmail.com> On 11/13/08, Jok wrote: > # uname -a > FreeBSD right.frequency.dk 7.1-BETA2 FreeBSD 7.1-BETA2 #0: Sun Oct 12 > 20:59:28 UTC 2008 > root@driscoll.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 > > # vmstat -m > Type InUse MemUse HighUse Requests Size(s) > > 80211node 17716 212570K - 20452 16,1024 > > The only related things I can find are links from 2005 and 2006 for FreeBSD > 6.0. > > Anyone who knows how to fix it? How to reproduce it? It could be also driver fault. From jhb at freebsd.org Thu Nov 13 11:46:39 2008 From: jhb at freebsd.org (John Baldwin) Date: Thu Nov 13 11:46:44 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <491B5B62.40609@FreeBSD.org> References: <200811060901400000@466321507> <200811111206.53809.jhb@freebsd.org> <491B5B62.40609@FreeBSD.org> Message-ID: <200811131145.39747.jhb@freebsd.org> On Wednesday 12 November 2008 05:40:34 pm Alexander Motin wrote: > John Baldwin wrote: > > On my laptop the ACPI SCI is the culprit. If I let the CPU drop below 400 > > mhz, the GPE handler for temperature updates takes so long to run the CPU > > spends the entire time processing GPEs and never runs userland. Thus, powerd > > never gets to run. This happens on a "modern" laptop, not a Pentium-100. > > And actually, at certain speeds it would eventually let userland run enough > > to bump up. I actually added KTR_SCHED events for ACPI GPE and Task handling > > and hacked schedgraph to parse them and thus had pretty pictures showing the > > GPE handler using all CPU time during the multiple-second "hangs" I would get > > on my laptop with powerd. > > If your system completely freezes at 400MHz, then it spends about 20% of > CPU time on this at 2GHz. Doesn't it? Nope. It is usually very idle at full speed. You are free to go buy your own HP nc6220 if you want to see it for yourself. You can also grab the KTR trace and modified schedgraph.py at www.freebsd.org/~jhb/gpe/. > With such amount of idle activity > you system just unable to save any power! Your 100% running CPU at > 400MHz will probably consume more power then any other really idle at > 2GHz. If you think that this is normal then disabling powerd is the only > way out for you. Except I do get much better battery life with powerd even with lowest set to 400. > >> powerd just makes that situation more probable as it significantly > >> reduces CPU performance. Just insert gigabit card into Pentium-100 > >> system and you will not be able to get there onder the load of only did > >> not using device polling mode. Rising frequency on interrupt processing > >> _will_not_ fix the problem, but just hide it for some time, until newer > >> network cards will be able to handle higher packet rate. > > > > It will definitely fix the problem on my laptop. > > No. It only hides the problem. *sigh* FreeBSD is not usually used for batch-processing. Most of the work FreeBSD does is interrupt-driven. For those sorts of loads, it does make sense that you want to handle your interrupt with minimal latency and then go back to sleep when it is done. The point Sam and I are making is that the idea that all power management can be driven from userland is flawed. It is a task that will need to be shared between the kernel and userland. Sam is also suggesting that this might be the single biggest issue with powerd. I'm not quite sure of the exact priority of the various cpufreq/powerd problems, but I think it is on a similar scale to not handling multiple CPU's properly. > >> I think the only solutions for this case can be in allowing scheduler to > >> really do it's job. Or by moving _everything_ out of interrupt threads > >> to make them extremely fast and so to avoid the livelock problem, or in > >> some other way allow scheduler to delay interrupt processing to allow > >> other (for example user-level) threads to obtain at least some part of > >> their CPU time slot according to their priorities. This is completely backwards. Userland is not more important than interrupt handling in the kernel. The problem is that CPU frequency handling is more important than relegating the entire task to userland. Instead of completely breaking the entire userland/kernel model to get part of userland executed at a kernel-level priority so CPU frequency handling is partially handled at a kernel-level priority, why not just move the CPU frequency bits that need to be kernel-level into the kernel? We already doing the thermal management for passive cooling in the kernel rather than in userland. > >> I don't see how powerd itself could do at least anything with this. > > > > The point is that powerd is part of a CPU throttling strategy. If you are > > going to mess with powerd you need to do so in the context of the overall > > strategy. > > Can you show me this strategy to work in context? There was no > significant changes at powerd for years. Now it does not works fine for > SMP, it does not works fine for systems with big number of power levels, > it's functionality is absolutely minimal. That's why I have touched it. > There is several good ideas of future improvement was proposed, but > nobody give me any real objections against what I have proposed. > > All of your objections is that your system unable to operate at low > frequency. So how it is related to powerd and proposed patches? Sam merely suggested that while you are working on improving other areas, that fixing this problem is one that is also worth looking at. In his opinion it is even more important. > Here is how I see possible strategy: > - Give more information to power controlling application: Differentiate > between power level and throttling. Throttling is completely ineffective > for CPUs supporting C1E, C2 and deeper states. It will give us better > responsibility at equal power consumption. > - Make scheduler to use some per-CPU power state priorities to allow us > really disable unused cores/chips. > - Reduce interrupt time to allow scheduler better handle process > priorities and fight against IRQ livelocks. It does not depends on > frequencies. > > What is your strategy vision? - Move the bits of CPU power management that are really important into the kernel. We should offload things to userland when possible, but interrupt handling isn't one you can offload to userland, and ensuring the system has enough CPU to process an interrupt when it occurs is the job of the kernel, _not_ of userland. -- John Baldwin From mav at FreeBSD.org Thu Nov 13 12:52:20 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Thu Nov 13 12:52:26 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <200811131145.39747.jhb@freebsd.org> References: <200811060901400000@466321507> <200811111206.53809.jhb@freebsd.org> <491B5B62.40609@FreeBSD.org> <200811131145.39747.jhb@freebsd.org> Message-ID: <491C9380.7050007@FreeBSD.org> John Baldwin wrote: >> If your system completely freezes at 400MHz, then it spends about 20% of >> CPU time on this at 2GHz. Doesn't it? > > Nope. It is usually very idle at full speed. You are free to go buy your own > HP nc6220 if you want to see it for yourself. You can also grab the KTR > trace and modified schedgraph.py at www.freebsd.org/~jhb/gpe/. It's very strange to me that you have 100% load at 400MHz, but zero at full speed. It shouldn't be so! Just an idea. I have noticed a problem, that my mobile Core2Duo does not drops TSC timer frequency on EST. It confuses kernel time counting and leads to incorrect proportional increasing of DELAY() times. I have fixed this problem to myself with "kern.timecounter.invariant_tsc=1". Can't it just be applicable to your CPU? >>>> I think the only solutions for this case can be in allowing scheduler to >>>> really do it's job. Or by moving _everything_ out of interrupt threads >>>> to make them extremely fast and so to avoid the livelock problem, or in >>>> some other way allow scheduler to delay interrupt processing to allow >>>> other (for example user-level) threads to obtain at least some part of >>>> their CPU time slot according to their priorities. > > This is completely backwards. Userland is not more important than interrupt > handling in the kernel. The problem is that CPU frequency handling is more > important than relegating the entire task to userland. Instead of completely > breaking the entire userland/kernel model to get part of userland executed at > a kernel-level priority so CPU frequency handling is partially handled at a > kernel-level priority, why not just move the CPU frequency bits that need to > be kernel-level into the kernel? We already doing the thermal management for > passive cooling in the kernel rather than in userland. The fact of system livelocks means that interrupt processing works out of any priorities! Saying that moving all processing into interrupt handlers is a good way, you are saying that having _all_ our system out of any priorities is a good idea. That's actually the situation we are able to see now with heavy network load with polling disabled. System just dies and there is no other way to manage that except enabling polling! Heavy interrupt handlers is _evil_ from the scheduling point of view! It may be faster in some situations, but it makes system unmanageable! There are never will be enough power to fulfill all requirements, so we must take care about the case when there will be more interrupts then we are able to handle. -- Alexander Motin From jhb at freebsd.org Thu Nov 13 14:17:47 2008 From: jhb at freebsd.org (John Baldwin) Date: Thu Nov 13 14:17:54 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <491C9380.7050007@FreeBSD.org> References: <200811060901400000@466321507> <200811131145.39747.jhb@freebsd.org> <491C9380.7050007@FreeBSD.org> Message-ID: <200811131606.24804.jhb@freebsd.org> On Thursday 13 November 2008 03:52:16 pm Alexander Motin wrote: > John Baldwin wrote: > >> If your system completely freezes at 400MHz, then it spends about 20% of > >> CPU time on this at 2GHz. Doesn't it? > > > > Nope. It is usually very idle at full speed. You are free to go buy your own > > HP nc6220 if you want to see it for yourself. You can also grab the KTR > > trace and modified schedgraph.py at www.freebsd.org/~jhb/gpe/. > > It's very strange to me that you have 100% load at 400MHz, but zero at > full speed. It shouldn't be so! I think systems are more complex than you give them credit for. Imagine what CPU frequency changing does to SMI# handlers for example. > Just an idea. I have noticed a problem, that my mobile Core2Duo does not > drops TSC timer frequency on EST. It confuses kernel time counting and > leads to incorrect proportional increasing of DELAY() times. I have > fixed this problem to myself with "kern.timecounter.invariant_tsc=1". > Can't it just be applicable to your CPU? Very, very doubtful. This is a Pentium-M, and I know that the TSC slows down, because until Nate's fixes to make DELAY() work correctly, the 5-second delay on shutdown used to take a lot longer than 5 seconds when I was on battery (after being on A/C). > >>>> I think the only solutions for this case can be in allowing scheduler to > >>>> really do it's job. Or by moving _everything_ out of interrupt threads > >>>> to make them extremely fast and so to avoid the livelock problem, or in > >>>> some other way allow scheduler to delay interrupt processing to allow > >>>> other (for example user-level) threads to obtain at least some part of > >>>> their CPU time slot according to their priorities. > > > > This is completely backwards. Userland is not more important than interrupt > > handling in the kernel. The problem is that CPU frequency handling is more > > important than relegating the entire task to userland. Instead of completely > > breaking the entire userland/kernel model to get part of userland executed at > > a kernel-level priority so CPU frequency handling is partially handled at a > > kernel-level priority, why not just move the CPU frequency bits that need to > > be kernel-level into the kernel? We already doing the thermal management for > > passive cooling in the kernel rather than in userland. > > The fact of system livelocks means that interrupt processing works out > of any priorities! Saying that moving all processing into interrupt > handlers is a good way, you are saying that having _all_ our system out > of any priorities is a good idea. That's actually the situation we are > able to see now with heavy network load with polling disabled. System > just dies and there is no other way to manage that except enabling polling! > > Heavy interrupt handlers is _evil_ from the scheduling point of view! It > may be faster in some situations, but it makes system unmanageable! > There are never will be enough power to fulfill all requirements, so we > must take care about the case when there will be more interrupts then we > are able to handle. I'm not advocating moving the entire system into interrupt handlers. Did you actually read what I wrote? My point is that if you have something in userland that is as important as what gets done in interrupt handlers, the solution is to not rip up the entire scheduler to make certain bits of userland have a higher priority than interrupts. The solution is to move the one bit of userland code that is needed into the kernel. In this case I'm not suggesting moving all of powerd into an interrupt handler. What I am suggesting is that the kernel needs a policy to consider raising the frequency when it gets an interrupt after being in a deep sleep. If the power savings from C2/3/whatever are greater than running throttled, then it is much more ideal when you get an interrupt while idle that you run at full speed to service the interrupt and then return to C2/C3 ASAP rather than running the interrupt handler at a throttled speed and spending less time in C2/C3. -- John Baldwin From mav at FreeBSD.org Fri Nov 14 02:26:47 2008 From: mav at FreeBSD.org (Alexander Motin) Date: Fri Nov 14 02:26:54 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <200811131606.24804.jhb@freebsd.org> References: <200811060901400000@466321507> <200811131145.39747.jhb@freebsd.org> <491C9380.7050007@FreeBSD.org> <200811131606.24804.jhb@freebsd.org> Message-ID: <491D5265.3020003@FreeBSD.org> John Baldwin wrote: > On Thursday 13 November 2008 03:52:16 pm Alexander Motin wrote: >> John Baldwin wrote: >>>> If your system completely freezes at 400MHz, then it spends about 20% of >>>> CPU time on this at 2GHz. Doesn't it? >>> Nope. It is usually very idle at full speed. You are free to go buy your > own >>> HP nc6220 if you want to see it for yourself. You can also grab the KTR >>> trace and modified schedgraph.py at www.freebsd.org/~jhb/gpe/. >> It's very strange to me that you have 100% load at 400MHz, but zero at >> full speed. It shouldn't be so! > > I think systems are more complex than you give them credit for. Imagine what > CPU frequency changing does to SMI# handlers for example. You may be right, I am sure not very good in some hardware aspects, but neither EST, nor throttling affect system bus operation. I don't see direct relation there, it could easily be just some hardware/acpi/whatever bug. >> The fact of system livelocks means that interrupt processing works out >> of any priorities! Saying that moving all processing into interrupt >> handlers is a good way, you are saying that having _all_ our system out >> of any priorities is a good idea. That's actually the situation we are >> able to see now with heavy network load with polling disabled. System >> just dies and there is no other way to manage that except enabling polling! >> >> Heavy interrupt handlers is _evil_ from the scheduling point of view! It >> may be faster in some situations, but it makes system unmanageable! >> There are never will be enough power to fulfill all requirements, so we >> must take care about the case when there will be more interrupts then we >> are able to handle. > > I'm not advocating moving the entire system into interrupt handlers. Did you > actually read what I wrote? My point is that if you have something in > userland that is as important as what gets done in interrupt handlers, the > solution is to not rip up the entire scheduler to make certain bits of > userland have a higher priority than interrupts. All I wanted to say is that CPU frequency should not be so important for system operation. Yes, system will be slower and more latent at lower frequency, but is must be responsible. Scheduler must be able to give every process (even user-level) it's time quantum. > The solution is to move the > one bit of userland code that is needed into the kernel. In this case I'm > not suggesting moving all of powerd into an interrupt handler. What I am > suggesting is that the kernel needs a policy to consider raising the > frequency when it gets an interrupt after being in a deep sleep. If the > power savings from C2/3/whatever are greater than running throttled, then it > is much more ideal when you get an interrupt while idle that you run at full > speed to service the interrupt and then return to C2/C3 ASAP rather than > running the interrupt handler at a throttled speed and spending less time in > C2/C3. C2 does not give visible benefit to me against EST+C1E. C3 and deeper (which suspends the bus) theoretically could, but at this moment they are not working on SMP systems due to APIC timer problem, so IMHO we should better manage it first. Also for interrupt case modern CPUs specially does not getting out of C2/3/... states completely. You can read about that in C2D datasheet. CPU tries to avoid frequency/voltage rise for short times. -- Alexander Motin From jhb at freebsd.org Sat Nov 15 10:01:52 2008 From: jhb at freebsd.org (John Baldwin) Date: Sat Nov 15 10:02:00 2008 Subject: RFC: powerd algorithms enhancements In-Reply-To: <491D5265.3020003@FreeBSD.org> References: <200811060901400000@466321507> <200811131606.24804.jhb@freebsd.org> <491D5265.3020003@FreeBSD.org> Message-ID: <200811151132.09851.jhb@freebsd.org> On Friday 14 November 2008 05:26:45 am Alexander Motin wrote: > John Baldwin wrote: > > On Thursday 13 November 2008 03:52:16 pm Alexander Motin wrote: > >> John Baldwin wrote: > >>>> If your system completely freezes at 400MHz, then it spends about 20% of > >>>> CPU time on this at 2GHz. Doesn't it? > >>> Nope. It is usually very idle at full speed. You are free to go buy your > > own > >>> HP nc6220 if you want to see it for yourself. You can also grab the KTR > >>> trace and modified schedgraph.py at www.freebsd.org/~jhb/gpe/. > >> It's very strange to me that you have 100% load at 400MHz, but zero at > >> full speed. It shouldn't be so! > > > > I think systems are more complex than you give them credit for. Imagine what > > CPU frequency changing does to SMI# handlers for example. > > You may be right, I am sure not very good in some hardware aspects, but > neither EST, nor throttling affect system bus operation. I don't see > direct relation there, it could easily be just some > hardware/acpi/whatever bug. Well, some more details are that I occasionally see one of the GPE handlers on my laptop take 750ms (milli-seconds, not micro-seconds) to run at full CPU speed. If I ever close the lid and then raise it, then I will see one of these every few seconds (I added debugging printfs to output the time for "long-running" GPEs to my kernel previously to debug this and they are still there; saw them again this morning). They only take up 0.7% of my CPU when they run at full speed. However, when I drop down from 1867 to, say, 100, then each one now takes several seconds, and with them coming in every few seconds, it ends up live-locking the system, even though at full CPU speed it is < 1% CPU every 5 seconds or so. > >> The fact of system livelocks means that interrupt processing works out > >> of any priorities! Saying that moving all processing into interrupt > >> handlers is a good way, you are saying that having _all_ our system out > >> of any priorities is a good idea. That's actually the situation we are > >> able to see now with heavy network load with polling disabled. System > >> just dies and there is no other way to manage that except enabling polling! > >> > >> Heavy interrupt handlers is _evil_ from the scheduling point of view! It > >> may be faster in some situations, but it makes system unmanageable! > >> There are never will be enough power to fulfill all requirements, so we > >> must take care about the case when there will be more interrupts then we > >> are able to handle. > > > > I'm not advocating moving the entire system into interrupt handlers. Did you > > actually read what I wrote? My point is that if you have something in > > userland that is as important as what gets done in interrupt handlers, the > > solution is to not rip up the entire scheduler to make certain bits of > > userland have a higher priority than interrupts. > > All I wanted to say is that CPU frequency should not be so important for > system operation. Yes, system will be slower and more latent at lower > frequency, but is must be responsible. Scheduler must be able to give > every process (even user-level) it's time quantum. Well, but the problem is that it is that important. The scheduler is responsible for managing the resource known as the "CPU", and we obviously stick the scheduler in the kernel. :) It's not really userland's job to ensure that kernel-level tasks have enough CPU horsepower to execute. -- John Baldwin From kayvey at gmail.com Sun Nov 16 00:40:09 2008 From: kayvey at gmail.com (Kayven Riese) Date: Sun Nov 16 00:40:16 2008 Subject: driver support for Belkin F5D7050 v 5xxx ? Message-ID: <28b9b4180811160018q2823d7fap90b546ba444f191d@mail.gmail.com> I just purchased a wireless connection device that connects to my ASUS M6800N laptop dual booting Vista and KV_BSD# uname -a FreeBSD KV_BSD 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008 root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 KV_BSD# via USB. While booting on Vista, connection was fine. I investigated my man pages for Belkin modles in the interfaces: V_BSD# man an | grep Belkin KV_BSD# man awi | grep Belkin KV_BSD# man ipw | grep Belkin KV_BSD# set -o vi KV_BSD# man iwi | grep Belkin KV_BSD# man ral | grep Belkin Belkin F5D7000 v3 RT2560 PCI Belkin F5D7010 v2 RT2560 CardBus KV_BSD# man rum | grep Belkin Belkin F5D7050 ver 3 USB Belkin F5D9050 ver 3 USB KV_BSD# man ural | grep Belkin Belkin F5D7050 v2000 USB KV_BSD# man wi | grep Belkin Belkin F5D6000 (a rebadged WL11000P) KV_BSD# man zyd | grep Belkin Belkin F5D7050 v.4000 KV_BSD# and found some websites that made me compare a serial number that I correlated to some information on the Belkin website and came to the conclusion that my device is a newer version than appears in the above list because of this information: K7SF5D7050E corresponds to version 5xxx That serial number is written on the device. There were no unfamiliar results of ifconfig: KV_BSD# ifconfig bge0: flags=8843 metric 0 mtu 1500 options=9b ether 00:11:d8:22:c9:91 inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255 media: Ethernet autoselect (100baseTX ) status: active fwe0: flags=8802 metric 0 mtu 1500 options=8 ether 02:e0:18:26:4c:e9 ch 1 dma -1 fwip0: flags=8802 metric 0 mtu 1500 lladdr 0.e0.18.0.3.26.4c.e9.a.2.ff.fe.0.0.0.0 plip0: flags=108810 metric 0 mtu 1500 lo0: flags=8049 metric 0 mtu 16384 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 KV_BSD# I attempted to use the ndisgen utility with the driver disk mounted on "/mnt/drive" KV_BSD# pwd /mnt/drive KV_BSD# ls AUTORUN.INF Belkin.ico Installer.exe UserManual Acrobat Reader InstallationFiles Installer.ini KV_BSD# cd InstallationFiles KV_BSD# ls Belkin.bmp Setup.exe VistaX64 WinXP2K data1.hdr layout.bin ISSetup.dll Setup.ini VistaX86 _Setup.dll data2.cab SETUP.ISS Setup.inx WinX64 data1.cab ikernel.ex_ KV_BSD# ls WinXP2K BLKWGU.inf BLKWGU.sys blkwgu.cat twice, once using the BLKWGU.inf and BLKWGU.sys files from the WinXP2K directory and again adding the blkwgu.cat file using the menu that ndisgen gives, and both times it terminated with success: ================================================================== ------------------ Windows(r) driver converter ------------------- ================================================================== Kernel module generation The script will now try to generate the kernel driver module. This is the last step. Once this module is generated, you should be able to load it just like any other FreeBSD driver module. Press enter to compile the stub module and generate the driver module now: Generating Makefile... done. Building kernel module... done. Cleaning up... done. The file BLKWGU_sys.ko has been successfully generated. You can kldload this module to get started. Press return to exit. When I tried to use the kldload command in both cases, the system rebooted. I messed around with /boot/loader.conf, including many of the interfaces that were noted above "man if | grep Belkin," and right now this is what it looks like: KV_BSD# cat /boot/loader.conf hint.ichss.0.disabled="1" W32DRIVER_load="YES" wlan_load="YES" firmware_load="YES" if_zyd_load="YES" wlan_scan_ap_load="YES" wlan_scan_sta_load="YES" wlan_wep_load="YES" wlan_ccmp_load="YES" wlan_tkip_load="YES" I note that the device is showing up in dmesg KV_BSD# dmesg | grep Belkin ugen0: on uhub3 ugen0: on uhub3 ugen0: on uhub3 ugen0: on uhub3 KV_BSD# some other info.. KV_BSD# pciconf -lv hostb0@pci0:0:0:0: class=0x060000 card=0x186a1043 chip=0x33408086 rev=0x21 hdr=0x00 vendor = 'Intel Cor . . none1@pci0:0:31:6: class=0x070300 card=0x18261043 chip=0x24c68086 rev=0x03 hdr=0x00 vendor = 'Intel Corporation' device = '82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller' class = simple comms subclass = generic modem vgapci0@pci0:1:0:0: class=0x030000 card=0x17721043 chip=0x4e501002 rev=0x00 hdr=0x00 vendor = 'ATI Technologies Inc' device = 'Mobility Radeon 9700 (M10 NP) (RV350)' class = display subclass = VGA bge0@pci0:2:0:0: class=0x020000 card=0x17351043 chip=0x169c14e4 rev=0x03 hdr=0x00 vendor = 'Broadcom Corporation' device = 'BCM5788 Broadcom NetLink (TM) Gigabit Ethernet' class = network subclass = ethernet cbb0@pci0:2:1:0: class=0x060700 card=0x18641043 chip=0x04761180 rev=0xac hdr=0x02 vendor = 'Ricoh Company, Ltd.' device = 'unknown Ricoh R/RL/5C476(II)' class = bridge subclass = PCI-CardBus cbb1@pci0:2:1:1: class=0x060700 card=0x18641043 chip=0x04761180 rev=0xac hdr=0x02 vendor = 'Ricoh Company, Ltd.' device = 'unknown Ricoh R/RL/5C476(II)' class = bridge subclass = PCI-CardBus fwohci0@pci0:2:1:2: class=0x0c0010 card=0x18671043 chip=0x05521180 rev=0x04 hdr=0x00 vendor = 'Ricoh Company, Ltd.' device = 'RL5c552 IEEE-1394 Controller' class = serial bus subclass = FireWire none2@pci0:2:2:0: class=0x028000 card=0x10008086 chip=0x42238086 rev=0x05 hdr=0x00 vendor = 'Intel Corporation' device = '2915ABG Intel (R) PRO/Wireless 2200BG Network Connection, (R) PRO/Wireless 2915ABG Network Connection' class = network KV_BSD# usbdevs -v Controller /dev/usb0: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00 port 1 powered port 2 powered Controller /dev/usb1: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00 port 1 addr 2: low speed, power 100 mA, config 1, USB Optical Mouse(0xc019), Logitech(0x046d), rev 43.01 port 2 powered Controller /dev/usb2: addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00 port 1 powered port 2 powered Controller /dev/usb3: addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), Intel(0x0000), rev 1.00 port 1 powered port 2 addr 2: high speed, power 500 mA, config 1, Belkin Wireless G USB Adapter(0x705e), vendor 0x050d(0x050d), rev 2.00 port 3 powered port 4 powered port 5 powered port 6 powered KV_BSD# exit Thanks to anyone in advance who gives me the time of day. I looked at some of the archives and felt these two lists seemed appropriate. Forgive me if I misused the lists. *----------------------------------------------------------* Kayven Riese, BSCS, MS (Physiology and Biophysics) (415) 902 5513 cellular http://kayve.net Webmaster http://ChessYoga.org *----------------------------------------------------------* From onemda at gmail.com Sun Nov 16 03:35:26 2008 From: onemda at gmail.com (Paul B. Mahol) Date: Sun Nov 16 03:35:33 2008 Subject: driver support for Belkin F5D7050 v 5xxx ? In-Reply-To: <28b9b4180811160018q2823d7fap90b546ba444f191d@mail.gmail.com> References: <28b9b4180811160018q2823d7fap90b546ba444f191d@mail.gmail.com> Message-ID: <3a142e750811160335y6867d362k93a525774bc3667@mail.gmail.com> On 11/16/08, Kayven Riese wrote: > I just purchased a wireless connection device that connects to my ASUS > M6800N laptop dual > booting Vista and > > KV_BSD# uname -a > FreeBSD KV_BSD 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC > 2008 root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 > KV_BSD# > > via USB. > > While booting on Vista, connection was fine. I investigated my man pages > for Belkin modles in > the interfaces: > V_BSD# man an | grep Belkin > KV_BSD# man awi | grep Belkin > KV_BSD# man ipw | grep Belkin > KV_BSD# set -o vi > KV_BSD# man iwi | grep Belkin > KV_BSD# man ral | grep Belkin > Belkin F5D7000 v3 RT2560 PCI > Belkin F5D7010 v2 RT2560 CardBus > KV_BSD# man rum | grep Belkin > Belkin F5D7050 ver 3 USB > Belkin F5D9050 ver 3 USB > KV_BSD# man ural | grep Belkin > Belkin F5D7050 v2000 USB > KV_BSD# man wi | grep Belkin > Belkin F5D6000 (a rebadged WL11000P) > KV_BSD# man zyd | grep Belkin > Belkin F5D7050 v.4000 > KV_BSD# > > and found some websites that made me compare a serial number that I > correlated to some > information on the Belkin website and came to the conclusion that my device > is a newer > version than appears in the above list because of this information: > > K7SF5D7050E corresponds to version 5xxx > > That serial number is written on the device. > > There were no unfamiliar results of ifconfig: > > > > KV_BSD# ifconfig > bge0: flags=8843 metric 0 mtu 1500 > options=9b > ether 00:11:d8:22:c9:91 > inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255 > media: Ethernet autoselect (100baseTX ) > status: active > fwe0: flags=8802 metric 0 mtu 1500 > options=8 > ether 02:e0:18:26:4c:e9 > ch 1 dma -1 > fwip0: flags=8802 metric 0 mtu 1500 > lladdr 0.e0.18.0.3.26.4c.e9.a.2.ff.fe.0.0.0.0 > plip0: flags=108810 metric 0 mtu > 1500 > lo0: flags=8049 metric 0 mtu 16384 > inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5 > inet6 ::1 prefixlen 128 > inet 127.0.0.1 netmask 0xff000000 > KV_BSD# > > I attempted to use the ndisgen utility with the driver disk mounted on > "/mnt/drive" > Currently ndis on freebsd doesnt support usb cards at all. There is patch available for CURRENT that is considered experimental and make possible to use ndis on FreeBSD with usb cards. > KV_BSD# pwd > /mnt/drive > KV_BSD# ls > AUTORUN.INF Belkin.ico Installer.exe UserManual > Acrobat Reader InstallationFiles Installer.ini > KV_BSD# cd InstallationFiles > KV_BSD# ls > Belkin.bmp Setup.exe VistaX64 WinXP2K data1.hdr > layout.bin > ISSetup.dll Setup.ini VistaX86 _Setup.dll data2.cab > SETUP.ISS Setup.inx WinX64 data1.cab ikernel.ex_ > KV_BSD# ls WinXP2K > BLKWGU.inf BLKWGU.sys blkwgu.cat > > twice, once using the BLKWGU.inf and BLKWGU.sys files from the WinXP2K > directory and again > adding the blkwgu.cat file using the menu that ndisgen gives, and both times > it terminated > with success: > > ================================================================== > ------------------ Windows(r) driver converter ------------------- > ================================================================== > > Kernel module generation > > > The script will now try to generate the kernel driver module. > This is the last step. Once this module is generated, you should > be able to load it just like any other FreeBSD driver module. > > Press enter to compile the stub module and generate the driver > module now: > > Generating Makefile... done. > Building kernel module... done. > Cleaning up... done. > > The file BLKWGU_sys.ko has been successfully generated. > You can kldload this module to get started. > > Press return to exit. > > When I tried to use the kldload command in both cases, the system rebooted. > > I messed around with /boot/loader.conf, including many of the interfaces > that were > noted above "man if | grep Belkin," and right now this is what it looks > like: > KV_BSD# cat /boot/loader.conf > hint.ichss.0.disabled="1" > W32DRIVER_load="YES" > wlan_load="YES" > firmware_load="YES" > if_zyd_load="YES" > wlan_scan_ap_load="YES" > wlan_scan_sta_load="YES" > wlan_wep_load="YES" > wlan_ccmp_load="YES" > wlan_tkip_load="YES" > > I note that the device is showing up in dmesg > > KV_BSD# dmesg | grep Belkin > ugen0: 2.00/2.00, addr 2> on uhub3 > ugen0: 2.00/2.00, addr 2> on uhub3 > ugen0: 2.00/2.00, addr 2> on uhub3 > ugen0: 2.00/2.00, addr 2> on uhub3 > KV_BSD# > > > some other info.. > > > KV_BSD# pciconf -lv > hostb0@pci0:0:0:0: class=0x060000 card=0x186a1043 chip=0x33408086 > rev=0x21 hdr=0x00 > vendor = 'Intel Cor > . > > . > > none1@pci0:0:31:6: class=0x070300 card=0x18261043 chip=0x24c68086 > rev=0x03 hdr=0x00 > vendor = 'Intel Corporation' > device = '82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem > Controller' > class = simple comms > subclass = generic modem > vgapci0@pci0:1:0:0: class=0x030000 card=0x17721043 chip=0x4e501002 > rev=0x00 hdr=0x00 > vendor = 'ATI Technologies Inc' > device = 'Mobility Radeon 9700 (M10 NP) (RV350)' > class = display > subclass = VGA > bge0@pci0:2:0:0: class=0x020000 card=0x17351043 chip=0x169c14e4 rev=0x03 > hdr=0x00 > vendor = 'Broadcom Corporation' > device = 'BCM5788 Broadcom NetLink (TM) Gigabit Ethernet' > class = network > subclass = ethernet > cbb0@pci0:2:1:0: class=0x060700 card=0x18641043 chip=0x04761180 rev=0xac > hdr=0x02 > vendor = 'Ricoh Company, Ltd.' > device = 'unknown Ricoh R/RL/5C476(II)' > class = bridge > subclass = PCI-CardBus > cbb1@pci0:2:1:1: class=0x060700 card=0x18641043 chip=0x04761180 rev=0xac > hdr=0x02 > vendor = 'Ricoh Company, Ltd.' > device = 'unknown Ricoh R/RL/5C476(II)' > class = bridge > subclass = PCI-CardBus > fwohci0@pci0:2:1:2: class=0x0c0010 card=0x18671043 chip=0x05521180 > rev=0x04 hdr=0x00 > vendor = 'Ricoh Company, Ltd.' > device = 'RL5c552 IEEE-1394 Controller' > class = serial bus > subclass = FireWire > none2@pci0:2:2:0: class=0x028000 card=0x10008086 chip=0x42238086 rev=0x05 > hdr=0x00 > vendor = 'Intel Corporation' > device = '2915ABG Intel (R) PRO/Wireless 2200BG Network Connection, > (R) PRO/Wireless 2915ABG Network Connection' > class = network > KV_BSD# usbdevs -v > Controller /dev/usb0: > addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), > Intel(0x0000), rev 1.00 > port 1 powered > port 2 powered > Controller /dev/usb1: > addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), > Intel(0x0000), rev 1.00 > port 1 addr 2: low speed, power 100 mA, config 1, USB Optical > Mouse(0xc019), Logitech(0x046d), rev 43.01 > port 2 powered > Controller /dev/usb2: > addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), > Intel(0x0000), rev 1.00 > port 1 powered > port 2 powered > Controller /dev/usb3: > addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), > Intel(0x0000), rev 1.00 > port 1 powered > port 2 addr 2: high speed, power 500 mA, config 1, Belkin Wireless G USB > Adapter(0x705e), vendor 0x050d(0x050d), rev 2.00 > port 3 powered > port 4 powered > port 5 powered > port 6 powered > KV_BSD# exit > > Thanks to anyone in advance who gives me the time of day. I looked at some > of the archives and felt these two > lists seemed appropriate. Forgive me if I misused the lists. > > > *----------------------------------------------------------* > Kayven Riese, BSCS, > MS (Physiology and Biophysics) > (415) 902 5513 cellular > http://kayve.net > Webmaster http://ChessYoga.org > *----------------------------------------------------------* > _______________________________________________ > freebsd-mobile@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-mobile > To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org" > From weongyo.jeong at gmail.com Sun Nov 16 21:00:41 2008 From: weongyo.jeong at gmail.com (Weongyo Jeong) Date: Sun Nov 16 21:00:47 2008 Subject: driver support for Belkin F5D7050 v 5xxx ? In-Reply-To: <3a142e750811160335y6867d362k93a525774bc3667@mail.gmail.com> References: <28b9b4180811160018q2823d7fap90b546ba444f191d@mail.gmail.com> <3a142e750811160335y6867d362k93a525774bc3667@mail.gmail.com> Message-ID: <20081117043650.GF61939@freebsd.weongyo.org> On Sun, Nov 16, 2008 at 12:35:23PM +0100, Paul B. Mahol wrote: > On 11/16/08, Kayven Riese wrote: > > I just purchased a wireless connection device that connects to my ASUS > > M6800N laptop dual > > booting Vista and > > > > KV_BSD# uname -a > > FreeBSD KV_BSD 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC > > 2008 root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 > > KV_BSD# > > > > via USB. > > > > While booting on Vista, connection was fine. I investigated my man pages > > for Belkin modles in > > the interfaces: > > V_BSD# man an | grep Belkin > > KV_BSD# man awi | grep Belkin > > KV_BSD# man ipw | grep Belkin > > KV_BSD# set -o vi > > KV_BSD# man iwi | grep Belkin > > KV_BSD# man ral | grep Belkin > > Belkin F5D7000 v3 RT2560 PCI > > Belkin F5D7010 v2 RT2560 CardBus > > KV_BSD# man rum | grep Belkin > > Belkin F5D7050 ver 3 USB > > Belkin F5D9050 ver 3 USB > > KV_BSD# man ural | grep Belkin > > Belkin F5D7050 v2000 USB > > KV_BSD# man wi | grep Belkin > > Belkin F5D6000 (a rebadged WL11000P) > > KV_BSD# man zyd | grep Belkin > > Belkin F5D7050 v.4000 > > KV_BSD# > > > > and found some websites that made me compare a serial number that I > > correlated to some > > information on the Belkin website and came to the conclusion that my device > > is a newer > > version than appears in the above list because of this information: > > > > K7SF5D7050E corresponds to version 5xxx > > > > That serial number is written on the device. > > > > There were no unfamiliar results of ifconfig: > > > > > > > > KV_BSD# ifconfig > > bge0: flags=8843 metric 0 mtu 1500 > > options=9b > > ether 00:11:d8:22:c9:91 > > inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255 > > media: Ethernet autoselect (100baseTX ) > > status: active > > fwe0: flags=8802 metric 0 mtu 1500 > > options=8 > > ether 02:e0:18:26:4c:e9 > > ch 1 dma -1 > > fwip0: flags=8802 metric 0 mtu 1500 > > lladdr 0.e0.18.0.3.26.4c.e9.a.2.ff.fe.0.0.0.0 > > plip0: flags=108810 metric 0 mtu > > 1500 > > lo0: flags=8049 metric 0 mtu 16384 > > inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5 > > inet6 ::1 prefixlen 128 > > inet 127.0.0.1 netmask 0xff000000 > > KV_BSD# > > > > I attempted to use the ndisgen utility with the driver disk mounted on > > "/mnt/drive" > > > > Currently ndis on freebsd doesnt support usb cards at all. > There is patch available for CURRENT that is considered experimental and > make possible to use ndis on FreeBSD with usb cards. I'd try to commit NDIS USB support soon (maybe before releasing 8.0 :-)) if there are no objections but I don't know whether it should be based on USB1, USB2 or both. regards, Weongy Jeong From matthias.apitz at oclc.org Tue Nov 18 04:24:23 2008 From: matthias.apitz at oclc.org (Matthias Apitz) Date: Tue Nov 18 04:24:30 2008 Subject: eeePC 900 && Xandros/Windows screen-shoots wanted Message-ID: <20081118122411.GA8147@rebelion.Sisis.de> Hello, I'm traveling next week to La Habana, Cuba, and I'm invited there to give talks in the Linux group about the eeePC 900 (and about the Linux based cellphone, Openmoko Freerunner). I'm running FreeBSD 7.0R on my eeePC but would like to show as well in one or two screens how the 900 is shipped originally with Xandros and Windows. Mine came with Xandros, but I have not done anything with this Xandros, I simply replaced the Xandros by FreeBSD. So I have no screens left over. Maybe someone was more clever than I and saved some screens or has the eeePC 900 even in dual boot. If so, could you please send me 1-2 of each system, i.e. of Xandros and Windows, as 1024x600 jpeg or png by e-mail? Would be very nice and thanks in advance. Greetings matthias -- Matthias Apitz Manager Technical Support - OCLC GmbH Gruenwalder Weg 28g - 82041 Oberhaching - Germany t +49-89-61308 351 - f +49-89-61308 399 - m +49-170-4527211 e - w http://www.oclc.org/ http://www.UnixArea.de/ b http://gurucubano.blogspot.com/ A computer is like an air conditioner, it stops working when you open Windows Una computadora es como aire acondicionado, deja de funcionar si abres Windows From ivakras1 at gmail.com Wed Nov 19 12:07:09 2008 From: ivakras1 at gmail.com (=?koi8-r?b?5M3J1NLJyiDrz8zP08/X?=) Date: Wed Nov 19 12:45:24 2008 Subject: Odd wpi behavior Message-ID: <200811192237.28533.ivakras1@gmail.com> Hello! I have read a discussion about wpi driver in September this year. I have also a problem with the Intel 3945ABG, but the other kind. Symptoms: 802.11 connection is established smoothly and without interruption, however, any active tcp connections, which is fast data transfer, are interrupted in a few seconds. That is, for example, ssh connection is not interrupted (only sometimes), because it is not as active as, say, downloading files from ftp or http servers. This happens even if I did not move with my laptop (HP Pavilion dv6840er) in the next roomof home (10 meters-1 wall). Stable and fast tcp connection can be established only at a distance of 1-2 meters from the access point (dlink dwl g700ap in the bridge mode) and only stationary (then im not moving around with laptop). If i shift with laptop to 10-20 cm in any direction, smoothly or rapidly, the transfer of data in established connections is terminated. It was observed that the delays in icmp (ping) is not affected, that is, if im moving with laptop at home, the icmp answers is not increasing. I think this is because no connection in icmp request-reply. I admit that the reason may be in access point, but... Some info: connection to AP is OPEN wpi is not in the kernell 7.1-PRERELEASE #2: Tue Nov 18 19:34:00 MSK 2008 src/sys/dev/wpi/if_wpi.c,v 1.5.2.4 2008/03/18 18:52:52 # kldstat Id Refs Address Size Name 1 24 0xc0400000 41fbf8 kernel 2 2 0xc0820000 29d38 linux.ko 3 1 0xc084a000 2204c snd_hda.ko 4 2 0xc086d000 5c03c sound.ko 5 1 0xc08ca000 5558 acpi_video.ko 6 2 0xc08d0000 762b8 acpi.ko 7 1 0xc0947000 15d68 if_wpi.ko 8 1 0xc095d000 25f50 wpifw.ko 9 1 0xc0983000 711edc nvidia.ko 10 4 0xc5b5f000 18000 netgraph.ko 11 1 0xc5ba7000 3000 ng_ether.ko 12 1 0xc5baa000 6000 ng_pppoe.ko 13 1 0xc5bdb000 4000 ng_socket.ko # ifconfig wpi0 wpi0: flags=8843 metric 0 mtu 1500 ether 00:1f:3c:3d:8d:f1 inet 10.178.155.243 netmask 0xfffff000 broadcast 10.178.159.255 media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/48Mbps) status: associated ssid onet channel 12 (2467 Mhz 11g) bssid 00:1e:58:2b:d8:c8 authmode OPEN privacy OFF txpower 50 bmiss 7 scanvalid 60 protmode CTS roaming MANUAL # cat /etc/wpa_supplicant.conf ctrl_interface=/var/run/wpa_supplicant network={ ssid="onet" bssid=00:1e:58:2b:d8:c8 scan_ssid=1 key_mgmt=NONE auth_alg=OPEN } Please help me out in this situation,i will be grateful for any advice. If needed for additional information-Im ready to cooperate. Thanks in advance! Dmitry Kolosov. From gamato at users.sf.net Thu Nov 20 13:33:09 2008 From: gamato at users.sf.net (martinko) Date: Thu Nov 20 13:33:15 2008 Subject: Is the C3 possible with SMP? In-Reply-To: <1225664813.1202.5.camel@RabbitsDen> References: <490DF584.5080506@FreeBSD.org> <1225656933.1202.2.camel@RabbitsDen> <490E245C.7070900@FreeBSD.org> <1225664813.1202.5.camel@RabbitsDen> Message-ID: Alexandre "Sunny" Kovalenko wrote: > On Mon, 2008-11-03 at 00:06 +0200, Alexander Motin wrote: >> Alexandre "Sunny" Kovalenko wrote: >>>> I have tried to enable C3 state on my Core2Duo laptop and found that it >>>> is not working good. System HZ timer stops during CPU sleep. After some >>>> investigation I have found that it is due to LAPIC timer used for HZ >>>> stopped during C3 state (same as during AMD's C1E). >>>> >>>> So the question is: Is it possible (or planned) to make it work somehow? >>>> For example, by using some external timer instead of LAPIC's one? >>>> >>>> ACPI reports about 20% less idle power consumption with C3 state >>>> comparing to C2. It would be interesting to get additional half an hour >>>> on battery. >>>> >>> You can get half way there by adding >>> >>> dev.cpu.1.cx_lowest=C3 >>> >>> to /etc/sysctl.conf >> Thanks. >> >> 1. Looks like it does not kill the timer. >> 2. I haven't got any benefit from it in idle state. According to >> `acpiconf -i 0` I have about 13 Amps (IMHO more looks like Watts) with >> both C2 and this half-to-C3, but only 11 Amps in full C3 (but without >> timer). >> 3. I have got about 10% benefit (33 Amps against 36) when cpu0 is 100% >> busy while cpu1 is idle. >> > You would not happen to have USB loaded or built into kernel? If you do, > you will practically never go into C3. What does > > sysctl dev.cpu | grep cx_usage > > say? > Hi, My laptop reports C1 state only: $ sysctl -a | grep cx_ hw.acpi.cpu.cx_lowest: C1 dev.cpu.0.cx_supported: C1/1 dev.cpu.0.cx_lowest: C1 dev.cpu.0.cx_usage: 100.00% But this is Pentium-M and I remember it could use C2 and C3 back with 5.x kernel and I'm sure I had USB as I have now. Do you have any idea why I don't have C2/C3 states available anymore ?? Cheers, Martin From gamato at users.sf.net Thu Nov 20 14:07:06 2008 From: gamato at users.sf.net (martinko) Date: Thu Nov 20 14:07:18 2008 Subject: S4 support on FBSD 7 or higher? In-Reply-To: <20081106171125.e6dc5fa8.torfinn.ingolfsen@broadpark.no> References: <4912D19F.2090906@gmx.de> <20081106171125.e6dc5fa8.torfinn.ingolfsen@broadpark.no> Message-ID: Torfinn Ingolfsen wrote: > On Thu, 06 Nov 2008 12:14:39 +0100 > Oliver Fischer wrote: > >> Dear all, >> >> after some years without FreeBSD I would like to run one of the new >> Thinkpad models with FreeBSD. One very important feature for me is >> Suspend To Disk aka S4. Does anyone know if S4 is supported in >> version 7 or higher? > > Answer: "it depends". It depends on > - specific model of laptop > - bios correctness > - user willingness to fiddle with setup > > Search he archives of this mailinglist with suitable keywods (thinkpad > + suspend) and you will see that this is not a clear picture. > > HTH I believe you meant Suspend to RAM, not Suspend to Disk. From knowtree at aloha.com Thu Nov 20 15:14:42 2008 From: knowtree at aloha.com (knowtree@aloha.com) Date: Thu Nov 20 15:14:49 2008 Subject: S4 support on FBSD 7 or higher? Message-ID: <200811202255.mAKMtLPv010044@yoda.pixi.com> > Torfinn Ingolfsen wrote: > > On Thu, 06 Nov 2008 12:14:39 +0100 > > Oliver Fischer wrote: > > > >> Dear all, > >> > >> after some years without FreeBSD I would like to run one of the new > >> Thinkpad models with FreeBSD. One very important feature for me is > >> Suspend To Disk aka S4. Does anyone know if S4 is supported in > >> version 7 or higher? > > > > Answer: "it depends". It depends on > > - specific model of laptop > > - bios correctness > > - user willingness to fiddle with setup > > > > Search he archives of this mailinglist with suitable keywods (thinkpad > > + suspend) and you will see that this is not a clear picture. > > > > HTH > > I believe you meant Suspend to RAM, not Suspend to Disk. The acpi man page (FreeBSD 7.0) says S3 is supported, but S4 is only supported in hardware with a BIOS that supports it, which these days is rare. My experience is that even S3 support is iffy. My Dell laptop is perfectly happy to suspend, it just never wakes up after that! As soon as my Fujitsu laptop arrives this will be a top priority. The lack of reliable S3 makes a laptop next to useless to me. Gary Dunn Honolulu Open Slate Project http://openslate.net/ 73 BMW E9 (3.0 CS) 2213583 (rust repair research project) http://e9erust.blogspot.com/ From obf at gmx.de Fri Nov 21 06:40:12 2008 From: obf at gmx.de (Oliver Fischer) Date: Fri Nov 21 06:40:19 2008 Subject: S4 support on FBSD 7 or higher? In-Reply-To: <200811202255.mAKMtLPv010044@yoda.pixi.com> References: <200811202255.mAKMtLPv010044@yoda.pixi.com> Message-ID: <4926C849.300@gmx.de> knowtree@aloha.com schrieb: > As soon as my Fujitsu laptop arrives this will be a top priority. The lack > of reliable S3 makes a laptop next to useless to me. As same for me with S4. Without S4 a laptop with FreeBSD is useless for me, since I have to run also Windows on my machine. It is very comfortable if you can suspend (to disk) one OS and start another. Later you return to the suspended one... Bye Oliver From oberman at es.net Fri Nov 21 11:57:17 2008 From: oberman at es.net (Kevin Oberman) Date: Fri Nov 21 11:57:24 2008 Subject: Is the C3 possible with SMP? In-Reply-To: Your message of "Thu, 20 Nov 2008 22:32:57 +0100." Message-ID: <20081121195714.CEE4B45010@ptavv.es.net> > From: martinko > Date: Thu, 20 Nov 2008 22:32:57 +0100 > Sender: owner-freebsd-mobile@freebsd.org > > Alexandre "Sunny" Kovalenko wrote: > > On Mon, 2008-11-03 at 00:06 +0200, Alexander Motin wrote: > >> Alexandre "Sunny" Kovalenko wrote: > >>>> I have tried to enable C3 state on my Core2Duo laptop and found that it > >>>> is not working good. System HZ timer stops during CPU sleep. After some > >>>> investigation I have found that it is due to LAPIC timer used for HZ > >>>> stopped during C3 state (same as during AMD's C1E). > >>>> > >>>> So the question is: Is it possible (or planned) to make it work somehow? > >>>> For example, by using some external timer instead of LAPIC's one? > >>>> > >>>> ACPI reports about 20% less idle power consumption with C3 state > >>>> comparing to C2. It would be interesting to get additional half an hour > >>>> on battery. > >>>> > >>> You can get half way there by adding > >>> > >>> dev.cpu.1.cx_lowest=C3 > >>> > >>> to /etc/sysctl.conf > >> Thanks. > >> > >> 1. Looks like it does not kill the timer. > >> 2. I haven't got any benefit from it in idle state. According to > >> `acpiconf -i 0` I have about 13 Amps (IMHO more looks like Watts) with > >> both C2 and this half-to-C3, but only 11 Amps in full C3 (but without > >> timer). > >> 3. I have got about 10% benefit (33 Amps against 36) when cpu0 is 100% > >> busy while cpu1 is idle. > >> > > You would not happen to have USB loaded or built into kernel? If you do, > > you will practically never go into C3. What does > > > > sysctl dev.cpu | grep cx_usage > > > > say? > > > > Hi, > > My laptop reports C1 state only: > > $ sysctl -a | grep cx_ > hw.acpi.cpu.cx_lowest: C1 > dev.cpu.0.cx_supported: C1/1 > dev.cpu.0.cx_lowest: C1 > dev.cpu.0.cx_usage: 100.00% > > But this is Pentium-M and I remember it could use C2 and C3 back with > 5.x kernel and I'm sure I had USB as I have now. > > Do you have any idea why I don't have C2/C3 states available anymore ?? Under 7-Stable, my Pentium-M system (ThinkPad T43) shows C1, C2, and C3. Of course, it's not an SMP. dev.cpu.0.cx_supported: C1/1 C2/1 C3/85 dev.cpu.0.cx_lowest: C1 dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% cx_supported has nothing to do with the value of cx_lowest. It should simply be what the CPU reports back vi ACPI as to the C states supported on the platform. -- R. Kevin Oberman, Network Engineer Energy Sciences Network (ESnet) Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab) E-mail: oberman@es.net Phone: +1 510 486-8634 Key fingerprint:059B 2DDF 031C 9BA3 14A4 EADA 927D EBB3 987B 3751 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 224 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/freebsd-mobile/attachments/20081121/3e6c9d66/attachment.pgp From smithi at nimnet.asn.au Fri Nov 21 17:34:19 2008 From: smithi at nimnet.asn.au (Ian Smith) Date: Fri Nov 21 17:34:27 2008 Subject: Is the C3 possible with SMP? In-Reply-To: <20081121195714.CEE4B45010@ptavv.es.net> References: <20081121195714.CEE4B45010@ptavv.es.net> Message-ID: <20081122113015.B70117@sola.nimnet.asn.au> On Fri, 21 Nov 2008, Kevin Oberman wrote: > > From: martinko > > > > Alexandre "Sunny" Kovalenko wrote: > > > On Mon, 2008-11-03 at 00:06 +0200, Alexander Motin wrote: > > >> Alexandre "Sunny" Kovalenko wrote: > > >>>> I have tried to enable C3 state on my Core2Duo laptop and found that it > > >>>> is not working good. System HZ timer stops during CPU sleep. After some > > >>>> investigation I have found that it is due to LAPIC timer used for HZ > > >>>> stopped during C3 state (same as during AMD's C1E). > > >>>> > > >>>> So the question is: Is it possible (or planned) to make it work somehow? > > >>>> For example, by using some external timer instead of LAPIC's one? > > >>>> > > >>>> ACPI reports about 20% less idle power consumption with C3 state > > >>>> comparing to C2. It would be interesting to get additional half an hour > > >>>> on battery. > > >>>> > > >>> You can get half way there by adding > > >>> > > >>> dev.cpu.1.cx_lowest=C3 > > >>> > > >>> to /etc/sysctl.conf > > >> Thanks. > > >> > > >> 1. Looks like it does not kill the timer. > > >> 2. I haven't got any benefit from it in idle state. According to > > >> `acpiconf -i 0` I have about 13 Amps (IMHO more looks like Watts) with That'll be Watts, for sure. 13 Amps would be somewhere between ~120W and ~180W depending on the battery voltage, and 36 Amps (below) would be 400W or more .. handy, maybe, for cooking breakfast on your touchpad :) > > >> both C2 and this half-to-C3, but only 11 Amps in full C3 (but without > > >> timer). > > >> 3. I have got about 10% benefit (33 Amps against 36) when cpu0 is 100% > > >> busy while cpu1 is idle. > > >> > > > You would not happen to have USB loaded or built into kernel? If you do, > > > you will practically never go into C3. What does > > > > > > sysctl dev.cpu | grep cx_usage > > > > > > say? > > > > > > > Hi, > > > > My laptop reports C1 state only: > > > > $ sysctl -a | grep cx_ > > hw.acpi.cpu.cx_lowest: C1 > > dev.cpu.0.cx_supported: C1/1 > > dev.cpu.0.cx_lowest: C1 > > dev.cpu.0.cx_usage: 100.00% > > > > But this is Pentium-M and I remember it could use C2 and C3 back with > > 5.x kernel and I'm sure I had USB as I have now. > > > > Do you have any idea why I don't have C2/C3 states available anymore ?? > > Under 7-Stable, my Pentium-M system (ThinkPad T43) shows C1, C2, and > C3. Of course, it's not an SMP. > dev.cpu.0.cx_supported: C1/1 C2/1 C3/85 > dev.cpu.0.cx_lowest: C1 > dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% > > cx_supported has nothing to do with the value of cx_lowest. It should > simply be what the CPU reports back vi ACPI as to the C states supported > on the platform. Well, except that cx_supported shows the possible values for cx_lowest; ie you can only select a value for cx_lowest that's in cx_supported .. so it does seem odd that martinko's cx_supported has been limited to C1? Whether the system ever actually uses the cx_lowest value you select, other than C1, is another matter of course. My T23 (P3-M, 7.0-R) allows selection of C3, but only ever uses it if the machine was booted up on battery(!) but that might be a BIOS/EC bug that upgrading these may fix. cheers, Ian From dana.myers at gmail.com Fri Nov 21 18:05:07 2008 From: dana.myers at gmail.com (Dana H. Myers) Date: Fri Nov 21 18:05:14 2008 Subject: Is the C3 possible with SMP? In-Reply-To: <20081122113015.B70117@sola.nimnet.asn.au> References: <20081121195714.CEE4B45010@ptavv.es.net> <20081122113015.B70117@sola.nimnet.asn.au> Message-ID: <492763E6.1080808@gmail.com> Ian Smith wrote: > On Fri, 21 Nov 2008, Kevin Oberman wrote: > > > >> 1. Looks like it does not kill the timer. > > > >> 2. I haven't got any benefit from it in idle state. According to > > > >> `acpiconf -i 0` I have about 13 Amps (IMHO more looks like Watts) with > > That'll be Watts, for sure. 13 Amps would be somewhere between ~120W > and ~180W depending on the battery voltage, and 36 Amps (below) would be > 400W or more .. handy, maybe, for cooking breakfast on your touchpad :) While I suspect the value is indeed Watts, I do not know why you're thinking 36A would indicate 400W or more. Modern CPUs typically run at relatively low voltages between 1.0V and 1.6V and proportionately high current. Dana From smithi at nimnet.asn.au Fri Nov 21 18:12:22 2008 From: smithi at nimnet.asn.au (Ian Smith) Date: Fri Nov 21 18:12:33 2008 Subject: Is the C3 possible with SMP? In-Reply-To: <492763E6.1080808@gmail.com> References: <20081121195714.CEE4B45010@ptavv.es.net> <20081122113015.B70117@sola.nimnet.asn.au> <492763E6.1080808@gmail.com> Message-ID: <20081122130515.K70117@sola.nimnet.asn.au> On Fri, 21 Nov 2008, Dana H. Myers wrote: > Ian Smith wrote: > > On Fri, 21 Nov 2008, Kevin Oberman wrote: > > > > > >> 1. Looks like it does not kill the timer. > > > > >> 2. I haven't got any benefit from it in idle state. According to > > > > >> `acpiconf -i 0` I have about 13 Amps (IMHO more looks like Watts) with > > That'll be Watts, for sure. 13 Amps would be somewhere between ~120W and > > ~180W depending on the battery voltage, and 36 Amps (below) would be 400W > > or more .. handy, maybe, for cooking breakfast on your touchpad :) > > While I suspect the value is indeed Watts, I do not know > why you're thinking 36A would indicate 400W or more. Modern > CPUs typically run at relatively low voltages between 1.0V > and 1.6V and proportionately high current. Unless acpiconf -i has changed between 7.0 and now, it reports Present Rate in mW, at least when running on battery. My T23 right now reports that as 13447mW, ie 13.447W. With a present battery voltage of 12.247V, that'd be 1.097 Amps battery discharge. YMMV. cheers, Ian From dana.myers at gmail.com Fri Nov 21 19:32:52 2008 From: dana.myers at gmail.com (Dana H. Myers) Date: Fri Nov 21 19:33:03 2008 Subject: Is the C3 possible with SMP? In-Reply-To: <20081122130515.K70117@sola.nimnet.asn.au> References: <20081121195714.CEE4B45010@ptavv.es.net> <20081122113015.B70117@sola.nimnet.asn.au> <492763E6.1080808@gmail.com> <20081122130515.K70117@sola.nimnet.asn.au> Message-ID: <49277D56.7030202@gmail.com> Ian Smith wrote: > > While I suspect the value is indeed Watts, I do not know > > why you're thinking 36A would indicate 400W or more. Modern > > CPUs typically run at relatively low voltages between 1.0V > > and 1.6V and proportionately high current. > > Unless acpiconf -i has changed between 7.0 and now, it reports Present > Rate in mW, at least when running on battery. My T23 right now reports > that as 13447mW, ie 13.447W. With a present battery voltage of 12.247V, > that'd be 1.097 Amps battery discharge. YMMV. Ah - my error. acpiconf -i reports on the battery, not the CPU. For some reason I was thinking that we were discussing CPU power consumption. My apologies. Dana From comp.john at googlemail.com Sat Nov 22 15:44:17 2008 From: comp.john at googlemail.com (John .) Date: Sat Nov 22 15:44:23 2008 Subject: trying to make a Toshiba Satellite Pro A300 work with FreeBSD 8-CURRENT (2008.11) In-Reply-To: References: Message-ID: [sorry, should have sent this to -mobile as well :( ] ---------- Forwarded message ---------- From: John . Date: 2008/11/22 Subject: trying to make a Toshiba Satellite Pro A300 work with FreeBSD 8-CURRENT (2008.11) To: freebsd-current@freebsd.org Hi, Toshiba A300 Satellite Pro PSAK13 (AMD Turion 64) It works for the most part, except for wifi or ethernet :( X not tested unfer FreeBSD dmesg at http://www.growveg.org/laptop/freebsd/fbsd8_current_200811_dmesg.txt pciconf at http://www.growveg.org/laptop/freebsd/fbsd8_current_200811_pciconf.txt Can anyone tell me if there is a chance getting the onboard wifi to work? Linux (latest ubuntu 64 bit) doesn't see it either (though it does detect ethernet) thanks -- John From gamato at users.sf.net Thu Nov 27 14:32:06 2008 From: gamato at users.sf.net (martinko) Date: Thu Nov 27 14:32:13 2008 Subject: Is the C3 possible with SMP? In-Reply-To: <20081122113015.B70117@sola.nimnet.asn.au> References: <20081121195714.CEE4B45010@ptavv.es.net> <20081122113015.B70117@sola.nimnet.asn.au> Message-ID: Ian Smith wrote: > On Fri, 21 Nov 2008, Kevin Oberman wrote: > > > From: martinko > > > [...] > > > > > > Hi, > > > > > > My laptop reports C1 state only: > > > > > > $ sysctl -a | grep cx_ > > > hw.acpi.cpu.cx_lowest: C1 > > > dev.cpu.0.cx_supported: C1/1 > > > dev.cpu.0.cx_lowest: C1 > > > dev.cpu.0.cx_usage: 100.00% > > > > > > But this is Pentium-M and I remember it could use C2 and C3 back with > > > 5.x kernel and I'm sure I had USB as I have now. > > > > > > Do you have any idea why I don't have C2/C3 states available anymore ?? > > > > Under 7-Stable, my Pentium-M system (ThinkPad T43) shows C1, C2, and > > C3. Of course, it's not an SMP. > > dev.cpu.0.cx_supported: C1/1 C2/1 C3/85 > > dev.cpu.0.cx_lowest: C1 > > dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% > > > > cx_supported has nothing to do with the value of cx_lowest. It should > > simply be what the CPU reports back vi ACPI as to the C states supported > > on the platform. > > Well, except that cx_supported shows the possible values for cx_lowest; > ie you can only select a value for cx_lowest that's in cx_supported .. > so it does seem odd that martinko's cx_supported has been limited to C1? > > Whether the system ever actually uses the cx_lowest value you select, > other than C1, is another matter of course. My T23 (P3-M, 7.0-R) allows > selection of C3, but only ever uses it if the machine was booted up on > battery(!) but that might be a BIOS/EC bug that upgrading these may fix. > > cheers, Ian > Well, booting with or without battery does make a difference, strangely: $ sysctl dev.cpu dev.cpu.0.%desc: ACPI CPU dev.cpu.0.%driver: cpu dev.cpu.0.%location: handle=\_PR_.CPU1 dev.cpu.0.%pnpinfo: _HID=none _UID=0 dev.cpu.0.%parent: acpi0 dev.cpu.0.freq: 525 dev.cpu.0.freq_levels: 2000/-1 1800/-1 1600/-1 1400/-1 1225/-1 1200/-1 1050/-1 1 000/-1 875/-1 800/-1 700/-1 600/-1 525/-1 450/-1 375/-1 300/-1 225/-1 150/-1 75/ -1 dev.cpu.0.cx_supported: C1/1 C2/1 C3/2 dev.cpu.0.cx_lowest: C3 dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% This was suggested to me by Henry Hu: Henry Hu wrote: > You may try to boot with battery. > If I boot with AC, there are only C1 and C2. But if I boot with > battery, there is C3. > I found that the line to recheck cx states has been commented in the > source code. So cx states keep the same since system startup. > > Cheers, > > Henry Cx states other than C1 are never used, unfortunately. Both C2 and C3 were used back with 5.something (I started with 5.3). I guess USB might be the culprit here. Anyway, it behaves strangely, at best. :( Cheers, Martin PS: Also, AFAIR C3 was not 2 but something like 100 back in times of 5.x when it worked on this laptop correctly. From onemda at gmail.com Thu Nov 27 15:58:18 2008 From: onemda at gmail.com (Paul B. Mahol) Date: Thu Nov 27 15:58:24 2008 Subject: Is the C3 possible with SMP? In-Reply-To: References: <20081121195714.CEE4B45010@ptavv.es.net> <20081122113015.B70117@sola.nimnet.asn.au> Message-ID: <3a142e750811271558r73727d81nb7dc7184627b54d3@mail.gmail.com> On 11/27/08, martinko wrote: > Ian Smith wrote: >> On Fri, 21 Nov 2008, Kevin Oberman wrote: >> > > From: martinko >> > > > [...] >> > > >> > > Hi, >> > > >> > > My laptop reports C1 state only: >> > > >> > > $ sysctl -a | grep cx_ >> > > hw.acpi.cpu.cx_lowest: C1 >> > > dev.cpu.0.cx_supported: C1/1 >> > > dev.cpu.0.cx_lowest: C1 >> > > dev.cpu.0.cx_usage: 100.00% >> > > >> > > But this is Pentium-M and I remember it could use C2 and C3 back with >> >> > > 5.x kernel and I'm sure I had USB as I have now. >> > > >> > > Do you have any idea why I don't have C2/C3 states available anymore >> ?? >> > >> > Under 7-Stable, my Pentium-M system (ThinkPad T43) shows C1, C2, and >> > C3. Of course, it's not an SMP. >> > dev.cpu.0.cx_supported: C1/1 C2/1 C3/85 >> > dev.cpu.0.cx_lowest: C1 >> > dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% >> > >> > cx_supported has nothing to do with the value of cx_lowest. It should >> > simply be what the CPU reports back vi ACPI as to the C states >> supported >> > on the platform. >> >> Well, except that cx_supported shows the possible values for cx_lowest; >> ie you can only select a value for cx_lowest that's in cx_supported .. >> so it does seem odd that martinko's cx_supported has been limited to C1? >> >> Whether the system ever actually uses the cx_lowest value you select, >> other than C1, is another matter of course. My T23 (P3-M, 7.0-R) allows >> selection of C3, but only ever uses it if the machine was booted up on >> battery(!) but that might be a BIOS/EC bug that upgrading these may fix. >> >> cheers, Ian >> > > Well, booting with or without battery does make a difference, strangely: > > $ sysctl dev.cpu > dev.cpu.0.%desc: ACPI CPU > dev.cpu.0.%driver: cpu > dev.cpu.0.%location: handle=\_PR_.CPU1 > dev.cpu.0.%pnpinfo: _HID=none _UID=0 > dev.cpu.0.%parent: acpi0 > dev.cpu.0.freq: 525 > dev.cpu.0.freq_levels: 2000/-1 1800/-1 1600/-1 1400/-1 1225/-1 1200/-1 > 1050/-1 1 > 000/-1 875/-1 800/-1 700/-1 600/-1 525/-1 450/-1 375/-1 300/-1 225/-1 > 150/-1 75/ > -1 > dev.cpu.0.cx_supported: C1/1 C2/1 C3/2 > dev.cpu.0.cx_lowest: C3 > dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% > > This was suggested to me by Henry Hu: > > Henry Hu wrote: > > You may try to boot with battery. > > If I boot with AC, there are only C1 and C2. But if I boot with > > battery, there is C3. > > I found that the line to recheck cx states has been commented in the > > source code. So cx states keep the same since system startup. > > > > Cheers, > > > > Henry > > Cx states other than C1 are never used, unfortunately. Both C2 and C3 > were used back with 5.something (I started with 5.3). I guess USB might > be the culprit here. Anyway, it behaves strangely, at best. :( > > Cheers, > > Martin > > PS: Also, AFAIR C3 was not 2 but something like 100 back in times of 5.x > when it worked on this laptop correctly. It works for me: [ignoring fact that C3 appears only if laptop is disconneted from AC] Looks like I'm lucky ... CPU: Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz (1662.51-MHz 686-class CPU dev.cpu.0.%desc: ACPI CPU dev.cpu.0.%driver: cpu dev.cpu.0.%location: handle=\_PR_.CPU0 dev.cpu.0.%pnpinfo: _HID=none _UID=0 dev.cpu.0.%parent: acpi0 dev.cpu.0.freq: 125 dev.cpu.0.freq_levels: 1667/31000 1458/27125 1333/22000 1166/19250 1000/13000 875/11375 750/9750 625/8125 500/6500 375/4875 250/3250 125/1625 dev.cpu.0.cx_supported: C1/1 C2/1 C3/57 dev.cpu.0.cx_lowest: C3 dev.cpu.0.cx_usage: 0.00% 4.59% 95.40% dev.cpu.1.%desc: ACPI CPU dev.cpu.1.%driver: cpu dev.cpu.1.%location: handle=\_PR_.CPU1 dev.cpu.1.%pnpinfo: _HID=none _UID=0 dev.cpu.1.%parent: acpi0 dev.cpu.1.cx_supported: C1/1 C2/1 C3/57 dev.cpu.1.cx_lowest: C3 dev.cpu.1.cx_usage: 0.00% 3.61% 96.38% Design capacity: 3365 mAh Last full capacity: 3365 mAh Technology: secondary (rechargeable) Design voltage: 10800 mV Capacity (warn): 169 mAh Capacity (low): 34 mAh Low/warn granularity: 100 mAh Warn/full granularity: 100 mAh Model number: Primary Serial number: 03400 2007/03/19 Type: LIon OEM info: Hewlett-Packard State: discharging Remaining capacity: 92% Remaining time: 2:12 Present rate: 15573 mA Voltage: 11708 mV It is interesting that when machine is almost completly idle typing inside syscons is very slooow - I need to move mouse all the time to speed up it (guess syscons is very slow). But just having mplayer playing music in background will improve interactivity a lot, note this doesnt happen inside X11. It doesnt happen if one of CPU have cx_lowest set to C2. This is very evident if I use powerd -b minimum. PS: I tested it with usb2_{core,controller_(ehci,uhci)} -- Paul