Re: pcmciautils.git
Hi, I stil can't find the http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
pcmciautils.git
Hi, Currently, I can't find git://git.kernel.org/pub/scm/linux/pcmcia/pcmciautils.git/ and "Linux Kernel 2.6 PCMCIA" site. ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[pcmciautils] hotplug is obsolete?
Hi, It seems hotplug is obsolete. If yes, hotplug-script should be removed from pcmciautils? Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
ide-cs driver
Hi, ide-cs driver is old and un-maintained. so I think ide-cs should have been removed when Linux becomes ver 3.0. Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: Lecture of German
>> In a letter to Max Born, Einstein wrote: >> "Der Alte nicht würfelt." >> >> In English, "He [God] does not throw dice." >> >> Does "der Alte" mean God in German? >> >> According to the dictionary, Alte means old. > >I'm not an expert in German, but I'll try here. The word "alte" is an adjecti ve >meaning old. According to Wikipedia, "der Alte" usually translates as "the ol d >man"; however, when taken in context, Einstein was probably referring to some >kind of supreme being, i.e. God. Note that Einstein himself has been referred to >as "der Alte". > >Larry Thanks for explanation. >From the experiment of Quantum mechanics, God throws dice. Best Regards ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Lecture of German
Dear expert of German. In a letter to Max Born, Einstein wrote: "Der Alte nicht wurfelt." In English, "He [God] does not throw dice." Does "der Alte" mean God in German? According to the dictionary, Alte means old. Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Lecture of German
Dear expert of German. In a letter to Max Born, Einstein wrote: "Der Alte nicht würfelt." In English, "He [God] does not throw dice." Does "der Alte" mean God in German? According to the dictionary, Alte means old. Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: Re: [ds.h] need WIN_FLAGS_WIN_0, 1, 2, 3 definition
Hi, >Is there a problem with that? currently, there is no problem. >Hey, > >On Sun, Jul 24, 2011 at 08:08:11PM +0900, Komuro wrote: >> For example, >> when we use the resource[2], we should set WIN_FLAGS_WIN_2 >> to link->resource[2]->flags ? > >No, that's not necessary. The driver should not care which window is used; >that's the job of pcmcia_resource.c . Furthermore, resource[2] is typically >associated with the first iomem window; resource[0] and [1] are for ioports. > >> Otherwise, pcmcia_request_window uses WIN_0. > >Is there a problem with that? > >Best, > Dominik ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: [ds.h] need WIN_FLAGS_WIN_0, 1, 2, 3 definition
Hi, For example, when we use the resource[2], we should set WIN_FLAGS_WIN_2 to link->resource[2]->flags ? Otherwise, pcmcia_request_window uses WIN_0. link->resource[2]->flags |= WIN_DATA_WIDTH_8|WIN_MEMORY_TYPE_AM|WIN_ENABLE; link->resource[2]->start = 0; link->resource[2]->end = 0; i = pcmcia_request_window(link, link->resource[2], 0); > >Hey Komuro, > >On Sun, Jul 24, 2011 at 12:28:10PM +0900, Komuro wrote: >> Hi, >> >> I think we need WIN_FLAGS_WIN_0, 1, 2, 3 definition below >> >> any comment? > >What do we need these definitions for? I don't remember any driver >which would require such a definition? AFAICT this is only used internally >in pcmcia/pcmcia_resource.c ? > >Best, > Dominik Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[ds.h] need WIN_FLAGS_WIN_0, 1, 2, 3 definition
Hi, I think we need WIN_FLAGS_WIN_0, 1, 2, 3 definition below any comment? --- linux-2.6.39/include/pcmcia/ds.h.orig 2011-03-15 10:20:32.0 +090 0 +++ linux-2.6.39/include/pcmcia/ds.h2011-07-24 12:12:40.0 +090 0 @@ -236,11 +236,11 @@ void pcmcia_disable_device(struct pcmcia #define WIN_FLAGS_MAP 0x63 /* MAP_ATTRIB | MAP_16BIT | MAP_ACTIVE | MAP_USE_WAIT */ -#define WIN_FLAGS_REQ 0x1c /* mapping to socket->win[i]: - 0x04 -> 0 - 0x08 -> 1 - 0x0c -> 2 - 0x10 -> 3 */ +#define WIN_FLAGS_REQ 0x1c /* mapping to socket->win[i]: */ +#define WIN_FLAGS_WIN_00x04 +#define WIN_FLAGS_WIN_10x08 +#define WIN_FLAGS_WIN_20x0c +#define WIN_FLAGS_WIN_30x10 /* config_reg{ister}s present for this PCMCIA device */ #define PRESENT_OPTION 0x001 Best Regards Komuro [I changed my e-mail address.] ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: [ANNOUNCE] pcmciautils-018 released
Hi, It seems recent modprobe does not have -b option. but older version of modprobe seems to have it. >> [rules-base] >> >> ># PCMCIA sockets: >> ># >> ># modprobe the pcmcia bus module so that 16-bit PCMCIA devices work >> >SUBSYSTEM=="pcmcia_socket", \ >> >RUN+="/sbin/modprobe -b pcmcia" >> >> The modprobe does not have -b option. > >$ modprobe -V >module-init-tools version 3.12 > >$ man modprobe >... > -b --use-blacklist > This option causes modprobe to apply the blacklist commands in > the configuration files (if any) to module names as well. It i s > usually used by udev(7). > > >Best, > Dominik ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
pccardctl config
Hi, ># pccardctl config >Socket 0: >command 'config' not yet handled by pccardctl If no one will add 'config' option, it should be removed from pccardctl source code. Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [ANNOUNCE] pcmciautils-018 released
Hi, [rules-base] ># PCMCIA sockets: ># ># modprobe the pcmcia bus module so that 16-bit PCMCIA devices work >SUBSYSTEM=="pcmcia_socket", \ >RUN+="/sbin/modprobe -b pcmcia" The modprobe does not have -b option. ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[PATCH 2.6.36-git1]pd6729:Coding Style fixes
pd6729: remove unnecessary space. Signed-off-by: Komuro --- --- linux-2.6.36-git1/drivers/pcmcia/pd6729.c.orig 2010-10-22 21:38:04.0 +0900 +++ linux-2.6.36-git1/drivers/pcmcia/pd6729.c 2010-10-22 21:38:38.0 +0900 @@ -725,17 +725,17 @@ static int __devinit pd6729_pci_probe(st return 0; - err_out_free_res2: +err_out_free_res2: if (irq_mode == 1) free_irq(dev->irq, socket); else del_timer_sync(&socket->poll_timer); - err_out_free_res: +err_out_free_res: pci_release_regions(dev); - err_out_disable: +err_out_disable: pci_disable_device(dev); - err_out_free_mem: +err_out_free_mem: kfree(socket); return ret; } --- linux-2.6.36-git1/drivers/pcmcia/pd6729.h.orig 2010-10-22 21:38:45.0 +0900 +++ linux-2.6.36-git1/drivers/pcmcia/pd6729.h 2010-10-22 21:39:38.0 +0900 @@ -15,7 +15,7 @@ struct pd6729_socket { int number; int card_irq; - unsigned long io_base; /* base io address of the socket */ + unsigned long io_base; /* base io address of the socket */ struct pcmcia_socket socket; struct timer_list poll_timer; }; ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: [PATCH 11/18] pcmcia: do not use io_req_t when calling pcmcia_request_io()
Hi, > http://userweb.kernel.org/~brodo/pcmcia-2.6.35.diff Serial part of Xircom card works with pcmcia-2.6.35.diff. - Original Message - >Date: Sat, 18 Sep 2010 15:32:12 +0200 >From: Dominik Brodowski >To: Komuro , pa...@ucw.cz >Cc: linux-pcmcia@lists.infradead.org >Subject: Re: Re: Re: Re: Re: Re: Re: Re: Re: [PATCH 11/18] pcmcia: do not > use io_req_t when calling pcmcia_request_io() > > >Hey, > >On Sat, Sep 18, 2010 at 09:50:31PM +0900, Komuro wrote: >> >Also on re-inserting the card (with 2.6.36-rc4+ as of today)? >> >> I tried the 2.6.36-rc4-git4. > >Thanks for testing! > >> >elese we wouldn't see the "is a 16550A" message, right? >> >> Even if the COR(Configuration Option Register) of irq is not properly setup , >> we can see the above message... > >Nothing relating to setting CISREG_COR (at least on pcnet_cs) changed, and >serial_cs does not modify CISREG_COR on such pseudo-multifunction devices. > >Would it be possible for you to re-check plain 2.6.35 and 2.6.35 with the >pcmcia patchset availble at > http://userweb.kernel.org/~brodo/pcmcia-2.6.35.diff >? > >If this works, we know that it's a serial/tty core issue, else it's indeed a >PCMCIA issue. > >Pavel: has the bt / pcmcia issue you were seeing with -rc1 been solved? If >not, could you try out 2.6.35 with this bigdiff as well, please? > >Thanks & best, > Dominik ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: Re: Re: Re: Re: Re: Re: Re: [PATCH 11/18] pcmcia: do not use io_req_t when calling pcmcia_request_io()
Hi, >Also on re-inserting the card (with 2.6.36-rc4+ as of today)? I tried the 2.6.36-rc4-git4. The serial part still does not work, before and after re-inserting the card. >elese we wouldn't see the "is a 16550A" message, right? Even if the COR(Configuration Option Register) of irq is not properly setup, we can see the above message... >Hey, > >On Sat, Sep 18, 2010 at 07:20:31PM +0900, Komuro wrote: >> With this patch, fmvj18x_cs based card works (both network and serial). > >good. Will push the patch upstream, then. > >> but Serial part of Xircom card still does not work. > >Also on re-inserting the card (with 2.6.36-rc4+ as of today)? > >> I think the reason is irq or io_width or io_lines is not setuped properly >> for Xircom-card by pcmcia_core. > >But those values are the same for 2.6.35 and 2.6.36-rc4+, else we wouldn't >see the same > >eth0: Xircom: port 0x300, irq 18, hwaddr 00:10:a4:f3:db:02 >0.1: ttyS3 at I/O 0x2e8 (irq = 18) is a 16550A > >messages. Furthermore, at least some access to the serial part does work, >elese we wouldn't see the "is a 16550A" message, right? > >Best, > Dominik ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: Re: Re: Re: Re: Re: Re: [PATCH 11/18] pcmcia: do not use io_req_t when calling pcmcia_request_io()
Hi, With this patch, fmvj18x_cs based card works (both network and serial). but Serial part of Xircom card still does not work. I think the reason is irq or io_width or io_lines is not setuped properly for Xircom-card by pcmcia_core. > > >Hey, > >On Sat, Sep 18, 2010 at 11:48:32AM +0900, Komuro wrote: >> Attached file is dmesg of another multi-function card(fmvj18x_cs) > >Thanks for the debug output -- this helps a lot! > >> This card works with 2.6.35 >> but does not work with 2.6.36rc3(+patch). > >does this patch help (at least with the network function?)? > >Best, > Dominik > > >commit 9e7d4841d766f96a4e28a51c434485695d6a60ca >Author: Dominik Brodowski >Date: Sat Sep 18 10:19:13 2010 +0200 > >pcmcia: preserve configuration information if request_io fails partly > >If pcmcia_request_io() only fails partly -- for the second of two >requested resources -- preserve the configuration settings for the >first one. > >Signed-off-by: Dominik Brodowski > >diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resourc e.c >index a5c1765..9ba4dad 100644 >--- a/drivers/pcmcia/pcmcia_resource.c >+++ b/drivers/pcmcia/pcmcia_resource.c >@@ -595,7 +595,13 @@ int pcmcia_request_io(struct pcmcia_device *p_dev) > if (c->io[1].end) { > ret = alloc_io_space(s, &c->io[1], p_dev->io_lines); > if (ret) { >+ struct resource tmp = c->io[0]; >+ /* release the previously allocated resource */ > release_io_space(s, &c->io[0]); >+ /* but preserve the settings, for they worked... */ >+ c->io[0].end = resource_size(&tmp); >+ c->io[0].start = tmp.start; >+ c->io[0].flags = tmp.flags; > goto out; > } > } else ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: Re: Re: Re: Re: [PATCH 11/18] pcmcia: do not use io_req_t when calling pcmcia_request_io()
Hi, >Are these lines different from what you see on a working kernel? dmesg is same between working kernel and 2.6.36-rc3. but 2.6.36-rc3(+patch) , the serial part still does not work. - Original Message - >Date: Fri, 17 Sep 2010 20:52:12 +0200 >From: Dominik Brodowski >To: Komuro >Cc: linux-pcmcia@lists.infradead.org, linux-ser...@vger.kernel.org >Subject: Re: Re: Re: Re: Re: [PATCH 11/18] pcmcia: do not use io_req_t when > calling pcmcia_request_io() > > >Dear Komuro, > >On Fri, Sep 17, 2010 at 10:06:51PM +0900, Komuro wrote: >> Xircom multi-function card still does not work. > >Huh, that is indeed surprising, as the dmesg has all the usual config >descriptions: > >eth0: Xircom: port 0x300, irq 18, hwaddr 00:10:a4:f3:db:02 >... >0.1: ttyS3 at I/O 0x2e8 (irq = 18) is a 16550A > >Are these lines different from what you see on a working kernel? > >Best, > Dominik ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: Re: Re: Re: [PATCH 11/18] pcmcia: do not use io_req_t when calling pcmcia_request_io()
Hi, Xircom multi-function card still does not work. Please see the attached dmesg log. Best Regards Komuro - Original Message - >Date: Mon, 13 Sep 2010 21:53:53 +0200 >From: Dominik Brodowski >To: Komuro >Cc: linux-pcmcia@lists.infradead.org, linux-ser...@vger.kernel.org >Subject: Re: Re: Re: Re: [PATCH 11/18] pcmcia: do not use io_req_t when > calling pcmcia_request_io() > > >Dear Komuro, > >does the attached patch help with 2.6.36-rc4? > >Best, > Dominik > >commit 1852d6b8c3fa2d1765f66cd7d96a8c6bf9f01997 >Author: Dominik Brodowski >Date: Mon Aug 30 08:18:54 2010 +0200 > >pcmcia serial_cs.c: fix multifunction card handling > >We shouldn't overwrite pre-set values, and we should also >set the port address to the beginning, and not the end of >the 8-port range. > >Reported-by: Komuro >Signed-off-by: Dominik Brodowski > >diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c >index 141c695..7d475b2 100644 >--- a/drivers/serial/serial_cs.c >+++ b/drivers/serial/serial_cs.c >@@ -335,8 +335,6 @@ static int serial_probe(struct pcmcia_device *link) > info->p_dev = link; > link->priv = info; > >- link->resource[0]->flags |= IO_DATA_PATH_WIDTH_8; >- link->resource[0]->end = 8; > link->conf.Attributes = CONF_ENABLE_IRQ; > if (do_sound) { > link->conf.Attributes |= CONF_ENABLE_SPKR; >@@ -411,6 +409,27 @@ static int setup_serial(struct pcmcia_device *handle, st ruct serial_info * info, > > /**/ > >+static int pfc_config(struct pcmcia_device *p_dev) >+{ >+ unsigned int port = 0; >+ struct serial_info *info = p_dev->priv; >+ >+ if ((p_dev->resource[1]->end != 0) && >+ (resource_size(p_dev->resource[1]) == 8)) { >+ port = p_dev->resource[1]->start; >+ info->slave = 1; >+ } else if ((info->manfid == MANFID_OSITECH) && >+ (resource_size(p_dev->resource[0]) == 0x40)) { >+ port = p_dev->resource[0]->start + 0x28; >+ info->slave = 1; >+ } >+ if (info->slave) >+ return setup_serial(p_dev, info, port, p_dev->irq); >+ >+ dev_warn(&p_dev->dev, "no usable port range found, giving up\n"); >+ return -ENODEV; >+} >+ > static int simple_config_check(struct pcmcia_device *p_dev, > cistpl_cftable_entry_t *cf, > cistpl_cftable_entry_t *dflt, >@@ -461,23 +480,8 @@ static int simple_config(struct pcmcia_device *link) > struct serial_info *info = link->priv; > int i = -ENODEV, try; > >- /* If the card is already configured, look up the port and irq */ >- if (link->function_config) { >- unsigned int port = 0; >- if ((link->resource[1]->end != 0) && >- (resource_size(link->resource[1]) == 8)) { >- port = link->resource[1]->end; >- info->slave = 1; >- } else if ((info->manfid == MANFID_OSITECH) && >- (resource_size(link->resource[0]) == 0x40)) { >- port = link->resource[0]->start + 0x28; >- info->slave = 1; >- } >- if (info->slave) { >- return setup_serial(link, info, port, >- link->irq); >- } >- } >+ link->resource[0]->flags |= IO_DATA_PATH_WIDTH_8; >+ link->resource[0]->end = 8; > > /* First pass: look for a config entry that looks normal. >* Two tries: without IO aliases, then with aliases */ >@@ -491,8 +495,7 @@ static int simple_config(struct pcmcia_device *link) > if (!pcmcia_loop_config(link, simple_config_check_notpicky, NULL)) > goto found_port; > >- printk(KERN_NOTICE >- "serial_cs: no usable port range found, giving up\n"); >+ dev_warn(&link->dev, "no usable port range found, giving up\n"); > return -1; > > found_port: >@@ -558,6 +561,7 @@ static int multi_config(struct pcmcia_device *link) > int i, base2 = 0; > > /* First, look for a generic full-sized window */ >+ link->resource[0]->flags |= IO_DATA_PATH_WIDTH_8; > link->resource[0]->end = info->multi * 8; > if (pcmcia_loop_config(link, multi_conf
Re: Re: Re: Re: [PATCH 11/18] pcmcia: do not use io_req_t when calling pcmcia_request_io()
Hi, Attached file is the output of /sys/kernel/debug/dynamic_debug/control. kernel 2.6..36-rc3. xirc2pcs_cs multi-function card. # filename:lineno [module]function flags format arch/x86/kernel/cpu/perfctr-watchdog.c:244 [perfctr_watchdog]write_watchdog_counter - "setting %s to -0x%08Lx\012" arch/x86/kernel/cpu/perfctr-watchdog.c:255 [perfctr_watchdog]write_watchdog_counter32 - "setting %s to -0x%08Lx\012" arch/x86/kernel/acpi/boot.c:998 [boot]mp_config_acpi_legacy_irqs - "Bus #%d is ISA\012" arch/x86/kernel/smpboot.c:1190 [smpboot]native_smp_cpus_done - "Boot done.\012" arch/x86/kernel/smpboot.c:497 [smpboot]impress_friends - "Before bogocount - setting activated=1.\012" arch/x86/kernel/smpboot.c:487 [smpboot]impress_friends - "Before bogomips.\012" arch/x86/kernel/smpboot.c:928 [smpboot]native_cpu_up - "do_boot_cpu failed %d\012" arch/x86/kernel/smpboot.c:913 [smpboot]native_cpu_up - "do_boot_cpu %d Already started\012" arch/x86/kernel/smpboot.c:901 [smpboot]native_cpu_up - "=_---CPU UP %u\012" arch/x86/kernel/smpboot.c:850 [smpboot]do_boot_cpu - "CPU%d: has booted.\012" arch/x86/kernel/smpboot.c:831 [smpboot]do_boot_cpu - "After Callout %d.\012" arch/x86/kernel/smpboot.c:829 [smpboot]do_boot_cpu - "Before Callout %d.\012" arch/x86/kernel/smpboot.c:804 [smpboot]do_boot_cpu - "Setting warm reset code and vector.\012" /usr/src/linux-2.6.36-rc3/arch/x86/include/asm/smpboot_hooks.h:21 [smpboot]smpboot_setup_warm_reset_vector - "3.\012" /usr/src/linux-2.6.36-rc3/arch/x86/include/asm/smpboot_hooks.h:18 [smpboot]smpboot_setup_warm_reset_vector - "2.\012" /usr/src/linux-2.6.36-rc3/arch/x86/include/asm/smpboot_hooks.h:15 [smpboot]smpboot_setup_warm_reset_vector - "1.\012" arch/x86/kernel/smpboot.c:683 [smpboot]wakeup_secondary_cpu_via_init - "After Startup.\012" arch/x86/kernel/smpboot.c:670 [smpboot]wakeup_secondary_cpu_via_init - "Waiting for send to finish...\012" arch/x86/kernel/smpboot.c:668 [smpboot]wakeup_secondary_cpu_via_init - "Startup point 1.\012" arch/x86/kernel/smpboot.c:651 [smpboot]wakeup_secondary_cpu_via_init - "After apic_write.\012" arch/x86/kernel/smpboot.c:647 [smpboot]wakeup_secondary_cpu_via_init - "Sending STARTUP #%d.\012" arch/x86/kernel/smpboot.c:644 [smpboot]wakeup_secondary_cpu_via_init - "#startup loops: %d.\012" arch/x86/kernel/smpboot.c:617 [smpboot]wakeup_secondary_cpu_via_init - "Waiting for send to finish...\012" arch/x86/kernel/smpboot.c:611 [smpboot]wakeup_secondary_cpu_via_init - "Deasserting INIT.\012" arch/x86/kernel/smpboot.c:606 [smpboot]wakeup_secondary_cpu_via_init - "Waiting for send to finish...\012" arch/x86/kernel/smpboot.c:595 [smpboot]wakeup_secondary_cpu_via_init - "Asserting INIT.\012" arch/x86/kernel/smpboot.c:277 [smpboot]smp_callin - "Stack at about %p\012" arch/x86/kernel/smpboot.c:257 [smpboot]smp_callin - "CALLIN, before setup_local_APIC().\012" arch/x86/kernel/smpboot.c:222 [smpboot]smp_callin - "CPU#%d (phys ID: %d) waiting for CALLOUT\012" arch/x86/kernel/smpboot.c:568 [smpboot]wakeup_secondary_cpu_via_nmi - "NMI sent.\012" arch/x86/kernel/smpboot.c:555 [smpboot]wakeup_secondary_cpu_via_nmi - "Waiting for send to finish...\012" arch/x86/kernel/tsc_sync.c:151 [tsc_sync]check_tsc_sync_source - "TSC synchronization [CPU#%d -> CPU#%d]: passed\012" arch/x86/kernel/apic/apic.c:1779 [apic]smp_error_interrupt - "APIC error on CPU%d: %02x(%02x)\012" arch/x86/kernel/apic/io_apic.c:3948 [io_apic]io_apic_set_pci_routing - "Pin %d-%d already programmed\012" arch/x86/kernel/apic/io_apic.c:1584 [io_apic]setup_IO_APIC_irq_extra - "Pin %d-%d already programmed\012" arch/x86/mm/init_32.c:1031 [init_32]set_kernel_text_ro - "Set kernel text: %lx - %lx for read only\012" arch/x86/mm/init_32.c:1017 [init_32]set_kernel_text_rw - "Set kernel text: %lx - %lx for read write\012" kernel/pm_qos_params.c:395 [pm_qos_params]pm_qos_power_write - "<3>%s, %d, 0x%x\012" kernel/freezer.c:123 [freezer]cancel_freezing - " clean up: %s\012" kernel/freezer.c:60 [freezer]refrigerator - "%s left refrigerator\012" kernel/freezer.c:41 [freezer]refrigerator - "%s entered refrigerator\012" kernel/power/suspend.c:291 [suspend]enter_state - "PM: Finishing wakeup.\012" kernel/power/suspend.c:287 [suspend]enter_state - "PM: Entering %s sleep\012" kernel/power/suspend.c:279 [suspend]enter_state - "PM: Preparing system for %s sleep\012" kernel/irq/manage.c:443 [manage]__irq_set_trigger - "No set_type function for IRQ %d (%s)\012" fs/notify/fsnotify.c:193 [fsnotify]send_to_group - "%s: group=%p to_tell=%p mnt=%p mask=%x inode_mark=%p inode_test_mask=%x vfsmount_mark=%p vfsmount_test_mask=%x data=%p data_is=%d cookie=%d event=%p\012" fs/notify/notification.c:407 [notification]fsnotify_create_event - "%s: event=%p to_tell=%p mask=%x data=%p data_type=%d\012" fs/notify/notification.c:365 [notification]fsnotify_clone_event - "%s: old_event=%p new_event=%p\012" fs/notify/notification.c:330 [notification]fsnotify_replace_event - "%s: old_event=%
Re: Re: Re: [PATCH 11/18] pcmcia: do not use io_req_t when calling pcmcia_request_io()
Hi, > >$ echo "module pcmcia +p" > /sys/kernel/debug/dynamic_debug/control > Which kernel .config option do I need to enable dynamic_debug? My kernel does not have /sys/kernel/debug/dynamic_debug/control. ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: [PATCH 11/18] pcmcia: do not use io_req_t when calling pcmcia_request_io()
Hi, The serial part still does not work. >does this patch help? If not, could you please enable dynamic debug by >issuing I will try it later. > >Hey, > >does this patch help? If not, could you please enable dynamic debug by >issuing > >$ echo "module pcmcia +p" > /sys/kernel/debug/dynamic_debug/control > >Thanks, > Dominik > > >From: Dominik Brodowski >Date: Mon, 30 Aug 2010 08:18:54 +0200 >Subject: [PATCH] pcmcia: fix multifunction card handling in serial_cs.c > >We shouldn't overwrite pre-set values, and we should also >set the port address to the beginning, and not the end of >the 8-port range. > >Reported-by: Komuro >Signed-off-by: Dominik Brodowski > >diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c >index 141c695..dd0fa12 100644 >--- a/drivers/serial/serial_cs.c >+++ b/drivers/serial/serial_cs.c >@@ -335,8 +335,6 @@ static int serial_probe(struct pcmcia_device *link) > info->p_dev = link; > link->priv = info; > >- link->resource[0]->flags |= IO_DATA_PATH_WIDTH_8; >- link->resource[0]->end = 8; > link->conf.Attributes = CONF_ENABLE_IRQ; > if (do_sound) { > link->conf.Attributes |= CONF_ENABLE_SPKR; >@@ -466,7 +464,7 @@ static int simple_config(struct pcmcia_device *link) > unsigned int port = 0; > if ((link->resource[1]->end != 0) && > (resource_size(link->resource[1]) == 8)) { >- port = link->resource[1]->end; >+ port = link->resource[1]->start; > info->slave = 1; > } else if ((info->manfid == MANFID_OSITECH) && > (resource_size(link->resource[0]) == 0x40)) { >@@ -479,6 +477,9 @@ static int simple_config(struct pcmcia_device *link) > } > } > >+ link->resource[0]->flags |= IO_DATA_PATH_WIDTH_8; >+ link->resource[0]->end = 8; >+ > /* First pass: look for a config entry that looks normal. >* Two tries: without IO aliases, then with aliases */ > for (try = 0; try < 4; try++) >@@ -558,6 +559,7 @@ static int multi_config(struct pcmcia_device *link) > int i, base2 = 0; > > /* First, look for a generic full-sized window */ >+ link->resource[0]->flags |= IO_DATA_PATH_WIDTH_8; > link->resource[0]->end = info->multi * 8; > if (pcmcia_loop_config(link, multi_config_check, &base2)) { > /* If that didn't work, look for two windows */ ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[BUG] [PATCH 11/18] pcmcia: do not use io_req_t when calling pcmcia_request_io()
Hi, Something is strange in pcmcia_request_configuration? at kernel 2.6.36-rc1? serial part of multi-function card does not work at 2.6.36-rc1. output of /proc/ioports [2.6.36-rc1] 02e8-02ef : pcmcia_socket0 02e8-02ef : pcmcia0.0 02e8-02ef : serial 0300-030f : pcmcia_socket0 0300-0008 : pcmcia0.0<== Strange!! [2.6.35] 02e8-02ef : pcmcia_socket0 02e8-02ef : serial 0300-030f : pcmcia_socket0 ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: [PATCH 11/18] pcmcia: do not use io_req_t when calling pcmcia_request_io()
Hi >@@ -463,13 +463,13 @@ static int simple_config(struct pcmcia_device *link) > /* If the card is already configured, look up the port and irq */ > if (link->function_config) { > unsigned int port = 0; >- if ((link->io.BasePort2 != 0) && >- (link->io.NumPorts2 == 8)) { >- port = link->io.BasePort2; >+ if ((link->resource[1]->end != 0) && >+ (resource_size(link->resource[1]) == 8)) { >+ port = link->resource[1]->end; > info->slave = 1; sorry, It should be link->resource[1]->start; (resource_size(link->resource[1]) == 8)) { port = link->resource[1]->start; << HERE!! ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [PATCH 11/18] pcmcia: do not use io_req_t when calling pcmcia_request_io()
Hi >--- a/drivers/serial/serial_cs.c >+++ b/drivers/serial/serial_cs.c >@@static int serial_probe(struct pcmcia_device *link) > info->p_dev = link; > link->priv = info; > >- link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; >- link->io.NumPorts1 = 8; >+ link->resource[0]->flags |= IO_DATA_PATH_WIDTH_8; >+ link->resource[0]->end = 8; resource[0]->end should be end of port-address? @@ -463,13 +463,13 @@ static int simple_config(struct pcmcia_device *link) /* If the card is already configured, look up the port and irq */ if (link->function_config) { unsigned int port = 0; - if ((link->io.BasePort2 != 0) && - (link->io.NumPorts2 == 8)) { - port = link->io.BasePort2; + if ((link->resource[1]->end != 0) && + (resource_size(link->resource[1]) == 8)) { + port = link->resource[1]->end; info->slave = 1; It should be link->resource[0]; (resource_size(link->resource[0]) == 8)) { port = link->resource[0]->end; >static int multi_config(struct pcmcia_device *link) > int i, base2 = 0; > > /* First, look for a generic full-sized window */ >- link->io.NumPorts1 = info->multi * 8; >+ link->resource[0]->end = info->multi * 8; > if (pcmcia_loop_config(link, multi_config_check, &base2)) { > /* If that didn't work, look for two windows */ >- link->io.NumPorts1 = link->io.NumPorts2 = 8; >+ link->resource[0]->end = link->resource[1]->end = 8; > info->multi = 2; > if (pcmcia_loop_config(link, multi_config_check_notpicky, > &base2)) { resource[0]->end , link->resource[1]->end should be end of port-address? ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [PATCH 11/18] pcmcia: do not use io_req_t when calling pcmcia_request_io()
Hi, >@@ -248,9 +248,8 @@ static int fmvj18x_probe(struct pcmcia_device *link) > lp->base = NULL; > > /* The io structure describes IO port mapping */ >-link->io.NumPorts1 = 32; >-link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO; >-link->io.IOAddrLines = 5; >+link->resource[0]->end = 32; >+link->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO; > Do you have any reason to move "link->io_lines = 5" from fmvj18x_probe to fmvj18x_config? >@@ -345,6 +344,8 @@ static int fmvj18x_config(struct pcmcia_device *link) > > dev_dbg(&link->dev, "fmvj18x_config\n"); > >+link->io_lines = 5; >+ > len = pcmcia_get_tuple(link, CISTPL_FUNCE, &buf); > kfree(buf); > ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [PATCH 11/18] pcmcia: do not use io_req_t when calling pcmcia_request_io()
Hi, > >-link->io.IOAddrLines =10; >-link->io.Attributes1 = IO_DATA_PATH_WIDTH_16; >+link->resource[0]->flags |= IO_DATA_PATH_WIDTH_16; link->io_lines should be set here? >@@ -840,14 +839,15 @@ xirc2ps_config(struct pcmcia_device * link) > } > printk(KNOT_XIRC "no ports available\n"); > } else { >- link->io.NumPorts1 = 16; >+ link->io_lines = 10; >+ link->resource[0]->end = 16; Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [PATCH 01/11] pcmcia: use pcmica_{read,write}_config_byte
Hi, >--- a/drivers/net/pcmcia/xirc2ps_cs.c >+++ b/drivers/net/pcmcia/xirc2ps_cs.c >+ if (err) > goto config_error; >- reg.Action = CS_WRITE; >- reg.Offset = CISREG_IOBASE_1; >- reg.Value = (link->io.BasePort2 >> 8) & 0xff; >- if ((err = pcmcia_access_configuration_register(link, ®))) >+ >+ err = pcmcia_write_config_byte(link, CISREG_IOBASE_1, >+ link->io.BasePort2 & 0xff); It should be err = pcmcia_write_config_byte(link, CISREG_IOBASE_1, (link->io.BasePort2 >> 8) & 0xff); ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
ds.h: unnecessary bit-field
Hi, bit-field sometimes introduces locking problem. for example, if one cpu loads the value "suspended", it also loads other value ("_irq", "_io" ..) at the same time. so it should not be used? [include/pcmcia/ds.h] u16 suspended:1; /* Flags whether io, irq, win configurations were * requested, and whether the configuration is "locked" */ u16 _irq:1; u16 _io:1; u16 _win:4; u16 _locked:1; /* Flag whether a "fuzzy" func_id based match is * allowed. */ u16 allow_func_id_match:1; /* information about this device */ u16 has_manf_id:1; u16 has_card_id:1; u16 has_func_id:1; u16 reserved:4; ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: ss.h: unnecessary bit-field
Hi, >> include/pcmcia/ss.h >> >> >/* socket setup is done so resources should be able to be allocated. >> > * Only if set to 1, calls to find_{io,mem}_region are handled, and >> > * insertio events are actually managed by the PCMCIA layer.*/ >> >u8 resource_setup_done:1; >> > >> >/* It's old if resource setup is done using adjust_resource_info() */ >> >u8 resource_setup_old:1; >> >u8 resource_setup_new:1; >> > >> >u8 reserved:5; >> >> meaningless bit-field? > >resource_setup_done is still needed. > >What about this patch? OK. Thanks! ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
ss.h: unnecessary bit-field
Hi, include/pcmcia/ss.h > /* socket setup is done so resources should be able to be allocated. >* Only if set to 1, calls to find_{io,mem}_region are handled, and >* insertio events are actually managed by the PCMCIA layer.*/ > u8 resource_setup_done:1; > > /* It's old if resource setup is done using adjust_resource_info() */ > u8 resource_setup_old:1; > u8 resource_setup_new:1; > > u8 reserved:5; meaningless bit-field? > /* 16-bit state: */ > struct { > /* the PCMCIA card consists of two pseudo devices */ > u8 has_pfc:1; > > u8 reserved:7; > } pcmcia_state; "struct pcmcia_state" is unnecessary? it should be u8 has_pfc; ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: [BUG?] pcmcia: IO port probe is broken on 2.6.35-rc2?
Hi, /proc/ioports between 2.6.34. and 2.6.35-rc2 is same. Currently I can't reproduce this problem. - : PCI Bus #00 -001f : dma1 0020-0021 : pic1 0040-0043 : timer0 0050-0053 : timer1 0060-0060 : keyboard 0064-0064 : keyboard 0080-008f : dma page reg 00a0-00a1 : pic2 00c0-00df : dma2 00f0-00ff : fpu 0170-0177 : :00:0f.1 0170-0177 : pata_via 01f0-01f7 : :00:0f.1 01f0-01f7 : pata_via 0290-0297 : pnp 00:09 0300-031f : pcmcia_socket0 0376-0376 : :00:0f.1 0376-0376 : pata_via 03c0-03df : vga+ 03e1-03e7 : pnp 00:0a 03f2-03f2 : floppy 03f4-03f5 : floppy 03f6-03f6 : :00:0f.1 03f6-03f6 : pata_via 03f7-03f7 : floppy 03f8-03ff : serial 0400-041f : pnp 00:0a 04d0-04d1 : pnp 00:0a 0680-06ff : pnp 00:09 0800-087f : pnp 00:0a 0800-0803 : ACPI PM1a_EVT_BLK 0804-0805 : ACPI PM1a_CNT_BLK 0808-080b : ACPI PM_TMR 0820-0823 : ACPI GPE0_BLK 0cf8-0cff : PCI conf1 1000-10ff : PCI CardBus :03 1400-14ff : PCI CardBus :03 1800-18ff : :00:11.6 5010-5015 : ACPI CPU throttle b000-b0ff : :00:0a.0 b400-b4ff : :00:0f.0 b400-b4ff : sata_via b800-b80f : :00:0f.0 b800-b80f : sata_via c000-c003 : :00:0f.0 c000-c003 : sata_via c400-c407 : :00:0f.0 c400-c407 : sata_via c800-c803 : :00:0f.0 c800-c803 : sata_via d000-d007 : :00:0f.0 d000-d007 : sata_via d400-d41f : :00:10.0 d800-d81f : :00:10.1 e000-e01f : :00:10.2 e400-e41f : :00:10.3 e800-e8ff : :00:11.5 fc00-fc0f : :00:0f.1 fc00-fc0f : pata_via ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[BUG?] pcmcia: IO port probe is broken on 2.6.35-rc2?
Hi, It seems "IO port probe" is broken on 2.6.35.rc2. [2.6.35-rc2] pcmcia_socket pcmcia_socket0: cs: IO port probe 0x100-0x3af: excluding excludi ng 0x100-0x107 0x108-0x10f 0x110-0x117 0x118-0x11f 0x120-0x127 0x128-0x12f 0x1 30-0x137 0x138-0x13f 0x140-0x147 0x148-0x14f 0x150-0x157 0x158-0x15f 0x160-0x1 67 0x168-0x177 0x170-0x17f 0x180-0x187 0x188-0x18f 0x190-0x197 0x198-0x19f 0x1 a0-0x1a7 0x1a8-0x1af 0x1b0-0x1b7 0x1b8-0x1bf 0x1c0-0x1c7 0x1c8-0x1cf 0x1d0-0x1 d7 0x1d8-0x1df 0x1e0-0x1e7 0x1e8-0x1f7 0x1f0-0x1ff 0x200-0x207 0x208-0x20f 0x2 10-0x217 0x218-0x21f 0x220-0x227 0x228-0x22f 0x230-0x237 0x238-0x23f 0x248-0x2 4f 0x240-0x247 0x290-0x297 0x290-0x297 0x2c0-0x2c7 0x2c8-0x2cf 0x2d0-0x2d7 0x2 d8-0x2df 0x2e0-0x2e7 0x2e8-0x2ef 0x2f0-0x2f7 0x2f8-0x2ff 0x300-0x307 0x308-0x3 0f 0x310-0x317 0x318-0x31f 0x320-0x327 0x328-0x32f 0x330-0x337 0x338-0x33f 0x3 40-0x347 0x348-0x34f 0x350-0x357 0x358-0x35f 0x360-0x367 0x368-0x37f 0x370-0x3 87 0x388-0x38f 0x390-0x397 0x398-0x39f 0x3a8-0x3af 0x3a0-0x3a7 pcmcia_socket pcmcia_socket1: cs: IO port probe 0x3e0-0x4ff: pcmcia_socket pcmcia_socket0: cs: IO port probe 0x3e0-0x4ff: excluding 0x3e0-0 x3e7 excluding 0x3f0-0x41f 0x3e0-0x3e7 0x3f0-0x41f 0x4d0-0x4d7 0x4d0-0x4d7 pcmcia_socket pcmcia_socket1: cs: IO port probe 0x820-0x8ff: pcmcia_socket pcmcia_socket0: cs: IO port probe 0x820-0x8ff: excluding 0x820-0 x87f excluding 0x820-0x87f pcmcia_socket pcmcia_socket1: cs: IO port probe 0xc00-0xcf7: pcmcia_socket pcmcia_socket0: cs: IO port probe 0xc00-0xcf7: clean. clean. [2.6.34] pcmcia_socket pcmcia_socket1: cs: IO port probe 0x100-0x3af: excluding 0x170-0 x177 0x1f0-0x1f7 0x290-0x297 0x370-0x37f pcmcia_socket pcmcia_socket1: cs: IO port probe 0x3e0-0x4ff: excluding 0x3e0-0 x3e7 0x3f0-0x41f 0x4d0-0x4d7 pcmcia_socket pcmcia_socket1: cs: IO port probe 0x820-0x8ff: excluding 0x820-0 x87f pcmcia_socket pcmcia_socket1: cs: IO port probe 0xc00-0xcf7: clean. Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[BUG] pcmcia: dev_node removal (drivers with unregister_netdev check)
Dear Dominik You introduced a bug to smc91c92_cs.c link->priv = dev; is necessary at smc91c92_probe. --- a/drivers/net/pcmcia/smc91c92_cs.c +++ b/drivers/net/pcmcia/smc91c92_cs.c @@ -103,7 +103,6 @@ struct smc_private { u_shortmanfid; u_shortcardid; -dev_node_t node; struct sk_buff *saved_skb; intpackets_waiting; void __iomem *base; @@ -323,7 +322,6 @@ static int smc91c92_probe(struct pcmcia_device *link) return -ENOMEM; smc = netdev_priv(dev); smc->p_dev = link; -link->priv = dev;<= HERE. This is necessary!! ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Questions about ioport-assignments
Hi, > >>- Is it just a buggy card if it works at 0x300 but not 0xc300 > >> (or is it maybe a problem with Linux assigning the io area)? > >>- Why is IOAddrLines forced to 16 (and thus alignment to 0x1), but onl y > >> if BasePort1 is 0? > > >In this case, >start = 0xc000, >align_data->mask = 0x3ff, >align_data->offset = 0x300 >then ret becomes 0xc300; > >but ret should be 0x300. "pci_find_parent_resource" only finds the io-window of cardbus bridge. I think the claim_region should find the io-area added by pcmcia-socket-startu p. claim_region(struct pcmcia_socket *s, resource_size_t base, resource_size_t size, int type, char *name) { struct resource *res, *parent; parent = type & IORESOURCE_MEM ? &iomem_resource : &ioport_resource; res = make_resource(base, size, type | IORESOURCE_BUSY, name); if (res) { #ifdef CONFIG_PCI if (s && s->cb_dev) parent = pci_find_parent_resource(s->cb_dev, res); #endif Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: Re: Re: Re: [BUG? KERNEL 2.6.34-rc5-git5] pccard_validate_cis WARN_ON error
Hi, The first time "pccardctl reset" ,the device sometimes works. but after the second time "pccardctl reset", the device does not work. I think the patch below does not solve this problem. By the way, "pccardctl reset" is equal to "pccardctl suspend" + "pccardctl resume"? >> >> >> But, after "pccardctl reset", the card still does not work. >> > >> >Why is "pccardctl reset" needed in any case? >> >> When the device becomes unstable, "pccardctl reset" reset the driver. >> >> >> >It seems that the CIS is >> >different when you call "pccardctl reset" compared to what it used to be. >> >> The CIS is same. I don't change the card. > >What about this patch on top of the previous one? If it still fails, dynamic >debug output would be very helpful. > >Thanks & best, > > Dominik > >From: Dominik Brodowski >Date: Mon, 3 May 2010 15:10:09 +0200 >Subject: [PATCH] pcmcia: order userspace suspend and resume requests > >Assert that userspace suspend and resume requests appearing >(almost) immediately are executed in the following order: >suspend, resume. This should fix "pccardctl reset". > >Signed-off-by: Dominik Brodowski > >diff --git a/drivers/pcmcia/cs.c b/drivers/pcmcia/cs.c >index 75ed866..c338375 100644 >--- a/drivers/pcmcia/cs.c >+++ b/drivers/pcmcia/cs.c >@@ -671,20 +671,22 @@ static int pccardd(void *__skt) > socket_remove(skt); > if (sysfs_events & PCMCIA_UEVENT_INSERT) > socket_insert(skt); >- if ((sysfs_events & PCMCIA_UEVENT_RESUME) && >- !(skt->state & SOCKET_CARDBUS)) { >- ret = socket_resume(skt); >- if (!ret && skt->callback) >- skt->callback->resume(skt); >- } > if ((sysfs_events & PCMCIA_UEVENT_SUSPEND) && > !(skt->state & SOCKET_CARDBUS)) { > if (skt->callback) > ret = skt->callback->suspend(skt); > else > ret = 0; >- if (!ret) >+ if (!ret) { > socket_suspend(skt); >+ msleep(100); >+ } >+ } >+ if ((sysfs_events & PCMCIA_UEVENT_RESUME) && >+ !(skt->state & SOCKET_CARDBUS)) { >+ ret = socket_resume(skt); >+ if (!ret && skt->callback) >+ skt->callback->resume(skt); > } > if ((sysfs_events & PCMCIA_UEVENT_REQUERY) && > !(skt->state & SOCKET_CARDBUS)) { Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[BUG: invalid hash] - update pata_pcmcia/ide-cs with transcend and kingston cards
Hi, The hash of "CF CARD 1GB" and "TS4GCF133" are wrong. pcmcia: pata_pcmcia: invalid hash for product string "CF CARD 1GB": is 0x3e520 e17, should be 0x55d5bffb pcmcia: see Documentation/pcmcia/devicetable.txt for details pcmcia: pata_pcmcia: invalid hash for product string "TS4GCF133": is 0x9351e59 d, should be 0x7558f133 pcmcia: see Documentation/pcmcia/devicetable.txt for details > >On 04/19/2010 01:54 PM, Kristoffer Ericson wrote: >> This patch adds idstrings for Kingston 1GB/4GB and Transcend 4GB/8GB. >> >> Signed-off-by: Kristoffer Ericson >> >> diff --git a/drivers/ide/ide-cs.c b/drivers/ide/ide-cs.c >> index ab87e4f..defce28 100644 >> --- a/drivers/ide/ide-cs.c >> +++ b/drivers/ide/ide-cs.c >> @@ -409,6 +409,8 @@ static struct pcmcia_device_id ide_ids[] = { >> PCMCIA_DEVICE_PROD_ID12("Hyperstone", "Model1", 0x3d5b9ef5, 0xca6ab420), >> PCMCIA_DEVICE_PROD_ID12("IBM", "microdrive", 0xb569a6e5, 0xa6d76178), >> PCMCIA_DEVICE_PROD_ID12("IBM", "IBM17JSSFP20", 0xb569a6e5, 0xf2508753), >> +PCMCIA_DEVICE_PROD_ID12("KINGSTON", "CF CARD 1GB", 0x2e6d1829, >> 0x3e520e17 ), >> +PCMCIA_DEVICE_PROD_ID12("KINGSTON", "CF CARD 4GB", 0x2e6d1829, >> 0x531e7d10 ), >> PCMCIA_DEVICE_PROD_ID12("KINGSTON", "CF8GB", 0x2e6d1829, 0xacbe682e), >> PCMCIA_DEVICE_PROD_ID12("IO DATA", "CBIDE2 ", 0x547e66dc, 0x8671043 b), >> PCMCIA_DEVICE_PROD_ID12("IO DATA", "PCIDE", 0x547e66dc, 0x5c5ab149), >> @@ -429,6 +431,8 @@ static struct pcmcia_device_id ide_ids[] = { >> PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS1GCF80", 0x709b1bf1, 0x2a54d4b1) , >> PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS2GCF120", 0x709b1bf1, 0x969aa4f2 ), >> PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS4GCF120", 0x709b1bf1, 0xf54a91c8 ), >> +PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS4GCF133", 0x709b1bf1, >> 0x9351e59d) , >> +PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS8GCF133", 0x709b1bf1, >> 0xb2f89b47) , >> PCMCIA_DEVICE_PROD_ID12("WIT", "IDE16", 0x244e5994, 0x3e232852), >> PCMCIA_DEVICE_PROD_ID12("WEIDA", "TWTTI", 0xcc7cf69c, 0x212bb918), >> PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209), >> diff --git a/drivers/ata/pata_pcmcia.c b/drivers/ata/pata_pcmcia.c >> index 3c3172d..4164dd2 100644 >> --- a/drivers/ata/pata_pcmcia.c >> +++ b/drivers/ata/pata_pcmcia.c >> @@ -424,6 +424,8 @@ static struct pcmcia_device_id pcmcia_devices[] = { >> PCMCIA_DEVICE_PROD_ID12("Hyperstone", "Model1", 0x3d5b9ef5, 0xca6ab420), >> PCMCIA_DEVICE_PROD_ID12("IBM", "microdrive", 0xb569a6e5, 0xa6d76178), >> PCMCIA_DEVICE_PROD_ID12("IBM", "IBM17JSSFP20", 0xb569a6e5, 0xf2508753), >> +PCMCIA_DEVICE_PROD_ID12("KINGSTON", "CF CARD 1GB", 0x2e6d1829, >> 0x3e520e17 ), >> +PCMCIA_DEVICE_PROD_ID12("KINGSTON", "CF CARD 4GB", 0x2e6d1829, >> 0x531e7d10 ), >> PCMCIA_DEVICE_PROD_ID12("KINGSTON", "CF8GB", 0x2e6d1829, 0xacbe682e), >> PCMCIA_DEVICE_PROD_ID12("IO DATA", "CBIDE2 ", 0x547e66dc, 0x8671043 b), >> PCMCIA_DEVICE_PROD_ID12("IO DATA", "PCIDE", 0x547e66dc, 0x5c5ab149), >> @@ -444,6 +446,8 @@ static struct pcmcia_device_id pcmcia_devices[] = { >> PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS1GCF80", 0x709b1bf1, 0x2a54d4b1) , >> PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS2GCF120", 0x709b1bf1, 0x969aa4f2 ), >> PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS4GCF120", 0x709b1bf1, 0xf54a91c8 ), >> +PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS4GCF133", 0x709b1bf1, >> 0x9351e59d) , >> +PCMCIA_DEVICE_PROD_ID12("TRANSCEND", "TS8GCF133", 0x709b1bf1, >> 0xb2f89b47) , >> PCMCIA_DEVICE_PROD_ID12("WIT", "IDE16", 0x244e5994, 0x3e232852), >> PCMCIA_DEVICE_PROD_ID12("WEIDA", "TWTTI", 0xcc7cf69c, 0x212bb918), >> PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209), >> Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: Re: Re: [BUG? KERNEL 2.6.34-rc5-git5] pccard_validate_cis WARN_ON error
Hi, >> But, after "pccardctl reset", the card still does not work. > >Why is "pccardctl reset" needed in any case? When the device becomes unstable, "pccardctl reset" reset the driver. >It seems that the CIS is >different when you call "pccardctl reset" compared to what it used to be. The CIS is same. I don't change the card. ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: Re: [BUG? KERNEL 2.6.34-rc5-git5] pccard_validate_cis WARN_ON error
Hi, >> >> WARNING: at drivers/pcmcia/cistpl.c:1488 pccard_validate_cis+0x32/0x2c6( ) >> > >> >is a call trace printed? If so, what is it? >> >> Here is the call trace. > >Thanks! Does this patch help? > The WARN_ON error is fixed. But, after "pccardctl reset", the card still does not work. case1: eth0 does not appear. case2: eth0 appears, but ping command does not work. ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: [BUG? KERNEL 2.6.34-rc5-git5] pccard_validate_cis WARN_ON error
Hi, >> >> WARNING: at drivers/pcmcia/cistpl.c:1488 pccard_validate_cis+0x32/0x2c6() > >is a call trace printed? If so, what is it? > Here is the call trace. [ cut here ] WARNING: at drivers/pcmcia/cistpl.c:1488 pccard_validate_cis+0x32/0x2c6() Hardware name: System Product Name Modules linked in: smc91c92_cs mii serial_cs video output sbs sbshc battery ac sg button floppy sr_mod cdrom yenta_socket rsrc_nonstatic sata_via ata_generi c pata_via libata sd_mod scsi_mod ext3 jbd mbcache [last unloaded: scsi_wait_s can] Pid: 1126, comm: pccardd Not tainted 2.6.34-rc5-git5 #5 Call Trace: [] ? warn_slowpath_common+0x41/0x71 [] ? warn_slowpath_common+0x5e/0x71 [] ? warn_slowpath_null+0xa/0xc [] ? pccard_validate_cis+0x32/0x2c6 [] ? pcmcia_card_add+0x4a/0xa0 [] ? kref_put+0x36/0x40 [] ? kobject_release+0x0/0x4f [] ? kref_put+0x36/0x40 [] ? ds_event+0xc5/0x12f [] ? ds_event+0x121/0x12f [] ? send_event+0x7b/0x97 [] ? socket_late_resume+0x81/0x86 [] ? pccardd+0x21c/0x30e [] ? pccardd+0x0/0x30e [] ? kthread+0x61/0x66 [] ? kthread+0x0/0x66 [] ? kernel_thread_helper+0x6/0x12 ---[ end trace 1855fc3c55f1e08e ]--- ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[BUG? KERNEL 2.6.34-rc5-git5] pccard_validate_cis WARN_ON error
Hi, After issuing the "pccardctl reset", I get the WARN_ON error from pccard_validate_cis and the card does not work. (Megahertz multi-function card) WARNING: at drivers/pcmcia/cistpl.c:1488 pccard_validate_cis+0x32/0x2c6() int pccard_validate_cis(struct pcmcia_socket *s, unsigned int *info) { tuple_t *tuple; cisparse_t *p; unsigned int count = 0; int ret, reserved, dev_ok = 0, ident_ok = 0; if (!s) return -EINVAL; if (s->functions) { WARN_ON(1); <= HERE return -EINVAL; } Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [PATCH] pcmcia: fix matching rules for pseudo-multi-function cards
>here is a fix for the rule to prevent PCMCIA_DEV_ID_MATCH_FUNC_ID entries >to match on PFC-cards. e.g. serial_cs PCMCIA_DEVICE_FUNC_ID(2) >will match on device 0 of a xircom CEM33 card resulting in a >failure in xirc2ps_cs. >I changed the code, so that the first matching struct pcmcia_device_id >_PFC_ entry will mark the card has_pfc, preventing >PCMCIA_DEV_ID_MATCH_FUNC_ID to match. > OK. works. ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Questions about ioport-assignments
Hi, >Hm, I don't get (yet) where you're heading to -- could you provide me with a >patch and/or more extensive explanation? OK. Here is the patch. pci_bus_alloc_resource calls pcmcia_align with res->start=0xc000. To avoid this , we need to call pcmcia_align manually. --- linux-2.6.34-rc4-git4/drivers/pcmcia/rsrc_nonstatic.c.orig 2010-04-18 09:52:12.0 +0900 +++ linux-2.6.34-rc4-git4/drivers/pcmcia/rsrc_nonstatic.c 2010-04-18 09:56:09.0 +0900 @@ -697,6 +697,9 @@ static struct resource *nonstatic_find_i struct pcmcia_align_data data; unsigned long min = base; int ret; +#if defined(CONFIG_X86) + resource_size_t start; +#endif if (align == 0) align = 0x1; @@ -705,6 +708,16 @@ static struct resource *nonstatic_find_i data.offset = base & data.mask; data.map = &s_data->io_db; +#if defined(CONFIG_X86) + start = pcmcia_align(&data, res, num, align); + + if (start) { + res->start = start; + res->end = start+num-1; + return res; + } +#endif + #ifdef CONFIG_PCI if (s->cb_dev) { ret = pci_bus_alloc_resource(s->cb_dev->bus, res, num, 1, ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Questions about ioport-assignments
Hi, [solution] If we have two io-resource io-res1, io-res2 (for example) we try to allocate io-resource from io-res2(lower ioport). if it fails , try to allocate io-resource from io-res1. io-res1 0xc000-0xcfff io-res2 0x0100-0x03ff ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Questions about ioport-assignments
Hi, sorry, "lines" seems to be align. but some devices with lines=10, it means max io-port = 0x3ff. ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Questions about ioport-assignments
Hi, >That's not pcmcia_common_align()s fault -- but this line in alloc_io_space: > > align = (*base) ? (lines ? 1< >Should we try replacing it with > > align = lines ? 1 << lines : 0; > >unconditionally? In this case, *base = 0x300 So align = (*base) ? (lines ? 1
Re: Questions about ioport-assignments
Hi, > Wolfram wrote: > > >>- Is it just a buggy card if it works at 0x300 but not 0xc300 > >> (or is it maybe a problem with Linux assigning the io area)? > >>- Why is IOAddrLines forced to 16 (and thus alignment to 0x1), but only > >> if BasePort1 is 0? > In this case, start = 0xc000, align_data->mask = 0x3ff, align_data->offset = 0x300 then ret becomes 0xc300; but ret should be 0x300. static resource_size_t pcmcia_common_align(struct pcmcia_align_data *align_data, resource_size_t start) { resource_size_t ret; /* * Ensure that we have the correct start address */ ret = (start & ~align_data->mask) + align_data->offset; if (ret < start) ret += align_data->mask + 1; return ret; } Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: pci_bus_for_each_resource, transparent bridges and rsrc_nonstatic.c
Hi, After setting start = 0x100, size becomes wrong value... unsigned long size = end - start + 1; <=== HERE int ret = 0; +#if defined(CONFIG_X86) + /* on x86, avoid anything < 0x100 for it is often used for +* legacy platform devices */ + if (start < 0x100) + start = 0x100; <=== HERE +#endif + if (end < start) return -EINVAL; ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [kernel 2.6.34-rc2] cs: IO port probe 0x100-0x3af: excluding 0x378-0x37f
Hi, >> So I think this is a pcmcia_core problem not _CRS / ACPI. >> >> It was reliably detected by io_probe before. > >I think we got hit by the same issue as at commit >7a96e87d6e58a07235a2bc3eff9b093af4937a72 . Could you test this patch, >please? OK. works. pcmcia_socket pcmcia_socket1: cs: IO port probe 0x100-0x3af: excluding 0x170-0x177 0x1f0-0x1f7 0x290-0x297 0x370-0x37f pcmcia_socket pcmcia_socket1: cs: IO port probe 0x3e0-0x4ff: excluding 0x3e0-0x3e7 0x3f0-0x41f 0x4d0-0x4d7 pcmcia_socket pcmcia_socket1: cs: IO port probe 0x820-0x8ff: excluding 0x820-0x87f pcmcia_socket pcmcia_socket1: cs: IO port probe 0xc00-0xcf7: clean. ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [kernel 2.6.34-rc2] cs: IO port probe 0x100-0x3af: excluding 0x378-0x37f
Hi, > >What kind of device is at 0x378? Was it reliably detected by io_probe > >before? Why is this device not reported by _CRS / ACPI / whatever? > > 0x378 is printer-port. > I read the data from port 0x378 to 0x37f at kernel 2.6.34-rc3. 0x378 => 0 0x379 => 7f 0x37a => c4 0x37b => ff 0x37c => ff 0x37e => ff 0x37f => ff It means this area is _not_ clean. So I think this is a pcmcia_core problem not _CRS / ACPI. It was reliably detected by io_probe before. Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [PATCH] pcmcia: fix up alignf issues
Hi, >> cf->io.win[0].base returns 0 at smc_configcheck(); >> So I think this is a pcmcia_request_io problem. > >Actually, it seems to be an issue with rsrc_nonstatic. Attached is a patch >for 2.6.34-rc; OK. works. ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [BUG? kernel 2.6.33] Bogus ioport is allocated for pcmcia device
Hi, > > Bogus ioport is allocated for pcmcia device at kernel 2.6.33. >> ioport is 0x30 but it should be 0x100. >> >> [2.6.33] >> ata5: PATA max PIO0 cmd 0x30 ctl 0x3e irq 17 >There's _no_ change in the PCMCIA subsystem between 2.6.33-rc5 and 2.6.33; >drivers/ata/ doesn't seem to have any related changes... This problem happens to the net/pcmcia/smc91c92_cs.c driver too. so this is not a drivers/ata problem. cf->io.win[0].base returns 0 at smc_configcheck(); So I think this is a pcmcia_request_io problem. [dmesg] pcmcia 0.0: pcmcia: registering new device pcmcia0.0 eth0: smc91c92 rev 3: io 0x30, irq 17, hw_addr 00:00:86:xx:xx:xx 4608 byte buffer, auto xcvr static int smc_configcheck(struct pcmcia_device *p_dev, cistpl_cftable_entry_t *cf, cistpl_cftable_entry_t *dflt, unsigned int vcc, void *priv_data) { p_dev->io.BasePort1 = cf->io.win[0].base; p_dev->io.IOAddrLines = cf->io.flags & CISTPL_IO_LINES_MASK; return pcmcia_request_io(p_dev, &p_dev->io); } [lspcmcia] Socket 0 Bridge:[yenta_cardbus] (bus ID: :00:0c.0) Configuration: state: on ready: yes Voltage: 5.0V Vcc: 5.0V Vpp: 0.0V Available IRQs: none Available ioports: 0x0100 - 0x03af 0x03e0 - 0x04ff 0x0820 - 0x08ff 0x0a00 - 0x0aff 0x0c00 - 0x0cf7 Available iomem:0xa000 - 0xa0ff [dump_cis] offset 0x54, tuple 0x1a, link 0x05 01 01 00 03 01 config base 0x0300 mask 0x0001 last_index 0x01 offset 0x5b, tuple 0x1b, link 0x0c c1 01 19 71 55 06 0e 2d 64 30 ff ff cftable_entry 0x01 [default] Vcc Vnom 5V Iavg 100mA Ipeak 120mA Idown 25mA io 0x-0x000f [lines=4] [8bit] [16bit] irq mask 0x [level] offset 0x69, tuple 0x1b, link 0x05 83 01 08 65 ff cftable_entry 0x03 io 0x-0x001f [lines=5] [8bit] [16bit] 1 bytes in subtuples offset 0x70, tuple 0x20, link 0x04 28 01 03 01 manfid 0x0128, 0x0103 offset 0x76, tuple 0x14, link 0x00 no_long_link Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [BUG] [RFC PATCH 07/19] pcmcia: re-work pcmcia_request_irq()
Hi, >do you mean this? > > >diff --git a/drivers/pcmcia/pcmcia_resource.c >b/drivers/pcmcia/pcmcia_resource.c >index bb927ed..63d09df 100644 >--- a/drivers/pcmcia/pcmcia_resource.c >+++ b/drivers/pcmcia/pcmcia_resource.c >@@ -452,7 +452,8 @@ int pcmcia_request_configuration(struct pcmcia_device >*p_dev, > if (req->Present & PRESENT_IOBASE_0) > c->Option |= COR_ADDR_DECODE; > } >- if (req->Attributes & CONF_ENABLE_PULSE_IRQ) >+ if ((req->Attributes & CONF_ENABLE_IRQ) && >+ !(req->Attributes & CONF_ENABLE_PULSE_IRQ)) > c->Option |= COR_LEVEL_REQ; > pcmcia_write_cis_mem(s, 1, (base + CISREG_COR)>>1, 1, > &c->Option); > mdelay(40); OK. works. ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[BUG] [RFC PATCH 07/19] pcmcia: re-work pcmcia_request_irq()
Hi, no interrupt is delivered to the pcmcia card. I think pcmcia_request_configuration does not setup irq properly. Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [kernel 2.6.34-rc2] cs: IO port probe 0x100-0x3af: excluding 0x378-0x37f
Hi, >Can't see how this is a real PCMCIA issue here... You are right. do_io_probe (in rsrc_nonstatic.c) is not changed between 2.6.33 and 2.6.34-rc2... ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [kernel 2.6.34-rc2] cs: IO port probe 0x100-0x3af: excluding 0x378-0x37f
Hi, >What kind of device is at 0x378? Was it reliably detected by io_probe >before? Why is this device not reported by _CRS / ACPI / whatever? 0x378 is printer-port. Here is the dmesg of 2.6.34-rc2. Linux version 2.6.34-rc2 (r...@localhost.localdomain) (gcc version 4.1.2 20070502 (Red Hat 4.1.2-12)) #1 SMP Mon Mar 22 21:22:37 JST 2010 BIOS-provided physical RAM map: BIOS-e820: - 0009fc00 (usable) BIOS-e820: 0009fc00 - 000a (reserved) BIOS-e820: 000e4000 - 0010 (reserved) BIOS-e820: 0010 - 3ffb (usable) BIOS-e820: 3ffb - 3ffc (ACPI data) BIOS-e820: 3ffc - 3fff (ACPI NVS) BIOS-e820: 3fff - 4000 (reserved) BIOS-e820: ff78 - 0001 (reserved) Notice: NX (Execute Disable) protection cannot be enabled: non-PAE kernel! DMI 2.3 present. AMI BIOS detected: BIOS may corrupt low RAM, working around it. e820 update range: - 0001 (usable) ==> (reserved) e820 update range: - 1000 (usable) ==> (reserved) e820 remove range: 000a - 0010 (usable) last_pfn = 0x3ffb0 max_arch_pfn = 0x10 MTRR default type: uncachable MTRR fixed ranges enabled: 0-9 write-back A-E uncachable F-F write-protect MTRR variable ranges enabled: 0 base 00 mask FFC000 write-back 1 base 00DC00 mask FFFC00 write-combining 2 disabled 3 disabled 4 disabled 5 disabled 6 disabled 7 disabled x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106 initial memory mapped : 0 - 00c0 found SMP MP-table at [c00ff780] ff780 init_memory_mapping: -377fe000 00 - 40 page 4k 40 - 003740 page 2M 003740 - 00377fe000 page 4k kernel direct mapping tables up to 377fe000 @ 15000-1a000 RAMDISK: 37d33000 - 37fef92c Allocated new RAMDISK: 0010 - 003bc92c Move RAMDISK from 37d33000 - 37fef92b to 0010 - 003bc92b ACPI: RSDP 000fa850 00021 (v02 ACPIAM) ACPI: XSDT 3ffb0100 0003C (v01 A M I OEMXSDT 03000615 MSFT 0097) ACPI: FACP 3ffb0290 000F4 (v03 A M I OEMFACP 03000615 MSFT 0097) ACPI: DSDT 3ffb03f0 0391B (v01 A0277 A0277001 0001 MSFT 010D) ACPI: FACS 3ffc 00040 ACPI: APIC 3ffb0390 00052 (v01 A M I OEMAPIC 03000615 MSFT 0097) ACPI: OEMB 3ffc0040 0003F (v01 A M I OEMBIOS 03000615 MSFT 0097) ACPI: Local APIC address 0xfee0 135MB HIGHMEM available. 887MB LOWMEM available. mapped low ram: 0 - 377fe000 low ram: 0 - 377fe000 Zone PFN ranges: DMA 0x0010 -> 0x1000 Normal 0x1000 -> 0x000377fe HighMem 0x000377fe -> 0x0003ffb0 Movable zone start PFN for each node early_node_map[2] active PFN ranges 0: 0x0010 -> 0x009f 0: 0x0100 -> 0x0003ffb0 On node 0 totalpages: 261951 free_area_init_node: node 0, pgdat c0782700, node_mem_map c1001200 DMA zone: 32 pages used for memmap DMA zone: 0 pages reserved DMA zone: 3951 pages, LIFO batch:0 Normal zone: 1744 pages used for memmap Normal zone: 221486 pages, LIFO batch:31 HighMem zone: 272 pages used for memmap HighMem zone: 34466 pages, LIFO batch:7 Using APIC driver default Detected use of extended apic ids on hypertransport bus ACPI: PM-Timer IO Port: 0x808 ACPI: Local APIC address 0xfee0 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled) ACPI: IOAPIC (id[0x02] address[0xfec0] gsi_base[0]) IOAPIC[0]: apic_id 2, version 3, address 0xfec0, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Using ACPI (MADT) for SMP configuration information SMP: Allowing 2 CPUs, 0 hotplug CPUs nr_irqs_gsi: 24 early_res array is doubled to 64 at [16000 - 167ff] Allocating PCI resources starting at 4000 (gap: 4000:bf78) setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:2 nr_node_ids:1 PERCPU: Embedded 16 pages/cpu @c1c0 s41236 r0 d24300 u2097152 pcpu-alloc: s41236 r0 d24300 u2097152 alloc=1*4194304 pcpu-alloc: [0] 0 1 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 259903 Kernel command line: ro root=LABEL=/1 rhgb quiet PID hash table entries: 4096 (order: 2, 16384 bytes) Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Initializing CPU#0 Subtract (44 early reservations) #1 [001000 - 002000] EX TRAMPOLINE #2 [40 - 86da94] TEXT DATA BSS #3 [86e000 - 87121c] BRK #4 [0ff790 - 10] BIOS reserved #5 [0ff780 - 0ff790]MP-table mpf #6 [09fc00 - 0e0250] BIOS reserved #7 [0e
[kernel 2.6.34-rc2] cs: IO port probe 0x100-0x3af: excluding 0x378-0x37f
Hi, At kernel 2.6.34-rc2, io_port 0x378-0x37f is not excluded automatically in my system. io_probe is not safe for some device (for example, ATI Radeon?) Is it better not to do io_probe? [kernel 2.6.33] pcmcia_socket pcmcia_socket0: cs: IO port probe 0x100-0x3af: excluding 0x378-0x37f pcmcia_socket pcmcia_socket0: cs: IO port probe 0x3e0-0x4ff: clean. pcmcia_socket pcmcia_socket0: cs: IO port probe 0x820-0x8ff: clean. pcmcia_socket pcmcia_socket0: cs: IO port probe 0xc00-0xcf7: clean. [kernel 2.6.34-rc2] pcmcia_socket pcmcia_socket1: cs: IO port probe 0xa00-0xaff: clean. pcmcia_socket pcmcia_socket0: cs: IO port probe 0x100-0x3af: clean. pcmcia_socket pcmcia_socket0: cs: IO port probe 0x3e0-0x4ff: clean. pcmcia_socket pcmcia_socket0: cs: IO port probe 0x820-0x8ff: clean. pcmcia_socket pcmcia_socket0: cs: IO port probe 0xc00-0xcf7: clean. Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [BUG? kernel 2.6.34-rc1-git8] cs: IO port probe 0x0-0xcf7: clean.
Hi, Some pcmcia device works only with lower ioport ( ioport < 0x300 ) and does not work with higher ioport ( ioport > 0x400 ). Actually, it is difficult to find unused ioport in this lower area. One solution is to use PNP BIOS to get used ioport. but pre-1995 system does not have PNP BIOS. I'm not sure the recent system have PNP BIOS. Another solution is to use ACPI BIOS. but pre-1998 system does not have ACPI BIOS. ISA slot card is no longer sold in the PC store, but on-board legacy devices still use this lower ioport. Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [BUG? kernel 2.6.34-rc1-git8] cs: IO port probe 0x0-0xcf7: clean.
Hi, >> Actually, ioport 0x0-0xff is used for onboard legacy devices. >> So it should be excluded? > >Probably -- and none of the devices listed below seem to actually be PCI >devcices... However, I have no idea why there is a "PCI Bus :00" here. >Oh wait. Is this the PC in which both pd6729 and yenta_socket are installed? sorry, This PC is different with the PC with pd6729 and yenta_socket are installed. Here is the dmesg and lspci -vvv [dmesg] Initializing cgroup subsys cpuset Initializing cgroup subsys cpu Linux version 2.6.34-rc2 (r...@localhost.localdomain) (gcc version 4.4.0 20090506 (Red Hat 4.4.0-4) (GCC) ) #1 SMP Sun Mar 21 20:58:10 JST 2010 BIOS-provided physical RAM map: BIOS-e820: - 0009fc00 (usable) BIOS-e820: 0009fc00 - 000a (reserved) BIOS-e820: 000e - 0010 (reserved) BIOS-e820: 0010 - b7b6c000 (usable) BIOS-e820: b7b6c000 - b7bbf000 (reserved) BIOS-e820: b7bbf000 - b7c86000 (usable) BIOS-e820: b7c86000 - b7cbf000 (ACPI NVS) BIOS-e820: b7cbf000 - b7ced000 (usable) BIOS-e820: b7ced000 - b7cff000 (ACPI data) BIOS-e820: b7cff000 - b7d0 (usable) BIOS-e820: b7d0 - c000 (reserved) BIOS-e820: f800 - fc00 (reserved) BIOS-e820: fec0 - fec01000 (reserved) BIOS-e820: fed1 - fed14000 (reserved) BIOS-e820: fed18000 - fed1a000 (reserved) BIOS-e820: fed1c000 - fed2 (reserved) BIOS-e820: fee0 - fee01000 (reserved) BIOS-e820: fff0 - 0001 (reserved) BIOS-e820: 0001 - 00014000 (usable) NX (Execute Disable) protection: active DMI 2.4 present. e820 update range: - 1000 (usable) ==> (reserved) e820 remove range: 000a - 0010 (usable) last_pfn = 0x14 max_arch_pfn = 0x100 MTRR default type: uncachable MTRR fixed ranges enabled: 0-9 write-back A-C uncachable D-D write-protect E-F uncachable MTRR variable ranges enabled: 0 base 0FFFE mask E write-protect 1 base 0 mask F8000 write-back 2 base 08000 mask FC000 write-back 3 base 0B800 mask FF800 uncachable 4 base 0B7E0 mask FFFE0 uncachable 5 base 0B7D0 mask 0 uncachable 6 base 1 mask FC000 write-back 7 disabled x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106 initial memory mapped : 0 - 00e0 init_memory_mapping: -375fe000 00 - 20 page 4k 20 - 003740 page 2M 003740 - 00375fe000 page 4k kernel direct mapping tables up to 375fe000 @ 7000-f000 RAMDISK: 37ce2000 - 37fef817 Allocated new RAMDISK: 009f5000 - 00d02817 Move RAMDISK from 37ce2000 - 37fef816 to 009f5000 - 00d02816 ACPI: RSDP 000fe020 00024 (v02 TOSINV) ACPI: XSDT b7cfe120 00064 (v01 TOSINV TOSINV00 0001 0113) ACPI: FACP b7cfd000 000F4 (v04 TOSINV TOSINV00 0001 MSFT 0113) ACPI: DSDT b7cf 08FA8 (v01 TOSINV TOSINV00 0001 MSFT 0113) ACPI: FACS b7c93000 00040 ACPI: HPET b7cfc000 00038 (v01 TOSINV TOSINV00 0001 MSFT 0113) ACPI: APIC b7cfb000 0006C (v02 TOSINV TOSINV00 0001 MSFT 0113) ACPI: MCFG b7cfa000 0003C (v01 TOSINV TOSINV00 0001 MSFT 0113) ACPI: ASF! b7cf9000 000A5 (v32 TOSINV TOSINV00 0001 MSFT 0113) ACPI: SLIC b7cef000 00176 (v01 TOSINV TOSINV00 0001 MSFT 0113) ACPI: BOOT b7cee000 00028 (v01 TOSINV TOSINV00 0001 MSFT 0113) ACPI: SSDT b7ced000 00655 (v01 PmRefCpuPm 3000 INTL 20051117) ACPI: Local APIC address 0xfee0 4234MB HIGHMEM available. 885MB LOWMEM available. mapped low ram: 0 - 375fe000 low ram: 0 - 375fe000 Zone PFN ranges: DMA 0x0001 -> 0x1000 Normal 0x1000 -> 0x000375fe HighMem 0x000375fe -> 0x0014 Movable zone start PFN for each node early_node_map[6] active PFN ranges 0: 0x0001 -> 0x009f 0: 0x0100 -> 0x000b7b6c 0: 0x000b7bbf -> 0x000b7c86 0: 0x000b7cbf -> 0x000b7ced 0: 0x000b7cff -> 0x000b7d00 0: 0x0010 -> 0x0014 On node 0 totalpages: 1014784 free_area_init_node: node 0, pgdat c089d580, node_mem_map c1001020 DMA zone: 32 pages used for memmap DMA zone: 0 pages reserved DMA zone: 3966 pages, LIFO batch:0 Normal zone: 1740 pages used for memmap Normal zone: 220978 pages, LIFO batch:31 HighMem zone: 8469 pages used for memmap HighMem zone: 779599 pages, LIFO batch:31 Using APIC driver default ACPI: PM-Timer IO Port: 0x408 ACPI: Local APIC address 0xfee0 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x00] disabled) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x
Re: [BUG? kernel 2.6.34-rc1-git8] cs: IO port probe 0x0-0xcf7: clean.
Hi, >> I don't add "include port 0x0-0xcf7" in /etc/pcmcia/config.opts. >> but recent kernel probes this ioport range ... > >That's because the parent PCI bridge offers these resources for downstream >users, such as yenta_cardbus. So that's not a bug. Actually, ioport 0x0-0xff is used for onboard legacy devices. So it should be excluded? -0cf7 : PCI Bus :00 -001f : dma1 0020-0021 : pic1 0040-0043 : timer0 0050-0053 : timer1 0060-0060 : keyboard 0064-0064 : keyboard 0070-0077 : rtc0 0080-008f : dma page reg 00a0-00a1 : pic2 00c0-00df : dma2 00f0-00ff : fpu ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[BUG? kernel 2.6.34-rc1-git8] cs: IO port probe 0x0-0xcf7: clean.
Hi, I don't add "include port 0x0-0xcf7" in /etc/pcmcia/config.opts. but recent kernel probes this ioport range ... yenta_cardbus :04:06.0: CardBus bridge found [1179:ff66] yenta_cardbus :04:06.0: ISA IRQ mask 0x0ca8, PCI irq 18 yenta_cardbus :04:06.0: Socket status: 3410 yenta_cardbus :04:06.0: pcmcia: parent PCI bridge I/O window: 0x1000 - 0x1fff pcmcia_socket pcmcia_socket0: cs: IO port probe 0x1000-0x1fff: clean. yenta_cardbus :04:06.0: pcmcia: parent PCI bridge Memory window: 0xd200 - 0xd40f pcmcia_socket pcmcia_socket0: cs: memory probe 0xd200-0xd40f: excluding 0xd3ef-0xd40f yenta_cardbus :04:06.0: pcmcia: parent PCI bridge Memory window: 0xd000 - 0xd1ff pcmcia_socket pcmcia_socket0: cs: memory probe 0xd000-0xd1ff: excluding 0xd000-0xd1ff yenta_cardbus :04:06.0: pcmcia: parent PCI bridge I/O window: 0x0 - 0xcf7 pcmcia_socket pcmcia_socket0: cs: IO port probe 0x0-0xcf7: clean. yenta_cardbus :04:06.0: pcmcia: parent PCI bridge I/O window: 0xd00 - 0x pcmcia_socket pcmcia_socket0: cs: IO port probe 0xd00-0x: clean. yenta_cardbus :04:06.0: pcmcia: parent PCI bridge Memory window: 0xa - 0xb pcmcia_socket pcmcia_socket0: cs: memory probe 0x0a-0x0b: excluding 0xa-0xb yenta_cardbus :04:06.0: pcmcia: parent PCI bridge Memory window: 0xc000 - 0xfebf pcmcia_socket pcmcia_socket0: cs: memory probe 0xc000-0xfebf: excluding 0xc000-0xd1ff 0xd400-0xdaff 0xdc00-0xe3ff 0xf800-0xfbff 0xfe80-0xfeff ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[PATCH kernel 2.6.34-rc1-git7] pd6729: Coding Style fixes
Signed-off-by: Komuro --- --- linux-2.6.34-rc1/drivers/pcmcia/pd6729.c.orig2 2010-03-14 05:45:04.0 +0900 +++ linux-2.6.34-rc1/drivers/pcmcia/pd6729.c2010-03-19 06:24:16.0 +0900 @@ -14,13 +14,13 @@ #include #include #include +#include #include #include #include #include -#include #include "pd6729.h" #include "i82365.h" @@ -222,9 +222,9 @@ static irqreturn_t pd6729_interrupt(int ? SS_READY : 0; } - if (events) { + if (events) pcmcia_parse_events(&socket[i].socket, events); - } + active |= events; } @@ -256,9 +256,8 @@ static int pd6729_get_status(struct pcmc status = indirect_read(socket, I365_STATUS); *value = 0; - if ((status & I365_CS_DETECT) == I365_CS_DETECT) { + if ((status & I365_CS_DETECT) == I365_CS_DETECT) *value |= SS_DETECT; - } /* * IO cards have a different meaning of bits 0,1 @@ -308,7 +307,7 @@ static int pd6729_set_socket(struct pcmc socket->card_irq = state->io_irq; reg = 0; - /* The reset bit has "inverse" logic */ + /* The reset bit has "inverse" logic */ if (!(state->flags & SS_RESET)) reg |= I365_PC_RESET; if (state->flags & SS_IOCARD) @@ -380,7 +379,7 @@ static int pd6729_set_socket(struct pcmc indirect_write(socket, I365_POWER, reg); if (irq_mode == 1) { -/* all interrupts are to be done as PCI interrupts */ + /* all interrupts are to be done as PCI interrupts */ data = PD67_EC1_INV_MGMT_IRQ | PD67_EC1_INV_CARD_IRQ; } else data = 0; @@ -391,9 +390,9 @@ static int pd6729_set_socket(struct pcmc /* Enable specific interrupt events */ reg = 0x00; - if (state->csc_mask & SS_DETECT) { + if (state->csc_mask & SS_DETECT) reg |= I365_CSC_DETECT; - } + if (state->flags & SS_IOCARD) { if (state->csc_mask & SS_STSCHG) reg |= I365_CSC_STSCHG; @@ -450,9 +449,12 @@ static int pd6729_set_io_map(struct pcmc ioctl = indirect_read(socket, I365_IOCTL) & ~I365_IOCTL_MASK(map); - if (io->flags & MAP_0WS) ioctl |= I365_IOCTL_0WS(map); - if (io->flags & MAP_16BIT) ioctl |= I365_IOCTL_16BIT(map); - if (io->flags & MAP_AUTOSZ) ioctl |= I365_IOCTL_IOCS16(map); + if (io->flags & MAP_0WS) + ioctl |= I365_IOCTL_0WS(map); + if (io->flags & MAP_16BIT) + ioctl |= I365_IOCTL_16BIT(map); + if (io->flags & MAP_AUTOSZ) + ioctl |= I365_IOCTL_IOCS16(map); indirect_write(socket, I365_IOCTL, ioctl); @@ -497,7 +499,7 @@ static int pd6729_set_mem_map(struct pcm /* write the stop address */ - i= (mem->res->end >> 12) & 0x0fff; + i = (mem->res->end >> 12) & 0x0fff; switch (to_cycles(mem->speed)) { case 0: break; @@ -563,7 +565,7 @@ static int pd6729_init(struct pcmcia_soc /* the pccard structure and its functions */ static struct pccard_operations pd6729_operations = { - .init = pd6729_init, + .init = pd6729_init, .get_status = pd6729_get_status, .set_socket = pd6729_set_socket, .set_io_map = pd6729_set_io_map, @@ -578,8 +580,13 @@ static irqreturn_t pd6729_test(int irq, static int pd6729_check_irq(int irq) { - if (request_irq(irq, pd6729_test, IRQF_PROBE_SHARED, "x", pd6729_test) - != 0) return -1; + int ret; + + ret = request_irq(irq, pd6729_test, IRQF_PROBE_SHARED, "x", + pd6729_test); + if (ret) + return -1; + free_irq(irq, pd6729_test); return 0; } @@ -591,7 +598,7 @@ static u_int __devinit pd6729_isa_scan(v if (irq_mode == 1) { printk(KERN_INFO "pd6729: PCI card interrupts, " - "PCI status changes\n"); + "PCI status changes\n"); return 0; } @@ -607,9 +614,10 @@ static u_int __devinit pd6729_isa_scan(v if (mask & (1<dev, "failed to kzalloc socket.\n"); return -ENOMEM; + } - if ((ret = pci_enable_device(dev))) + ret = pci_enable_device(dev); + if (ret) { + dev_warn(&dev->dev, "failed to enable pci_device.\n");
Re: [BUG? kernel 2.6.33] Bogus ioport is allocated for pcmcia device
Hi, >Does it work correctly on 2.6.34-rc1? same result on 2.6.34-rc1. >There's _no_ change in the PCMCIA subsystem between 2.6.33-rc5 and 2.6.33; >drivers/ata/ doesn't seem to have any related changes... It seems it is the ata driver problem. I will test it with network card. Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[BUG? kernel 2.6.33] Bogus ioport is allocated for pcmcia device
Hi, Bogus ioport is allocated for pcmcia device at kernel 2.6.33. ioport is 0x30 but it should be 0x100. [2.6.33] ata5: PATA max PIO0 cmd 0x30 ctl 0x3e irq 17 ata5.00: CFA: , Ver.1.0, max PIO2 ata5.00: 32000 sectors, multi 0: LBA ata5.00: configured for PIO0 ata5.00: configured for PIO0 ata5: EH complete isa bounce pool size: 16 pages [2.6.33-rc5] ata5: PATA max PIO0 cmd 0x100 ctl 0x10e irq 17 ata5.00: CFA: , Ver.1.0, max PIO2 ata5.00: 32000 sectors, multi 0: LBA ata5.00: configured for PIO0 ata5.00: configured for PIO0 ata5: EH complete [2.6.33] Configuration: state: on ready: yes Available IRQs: none Available ioports: 0x0100 - 0x03af 0x03e0 - 0x04ff 0x0820 - 0x08ff 0x0a00 - 0x0aff 0x0c00 - 0x0cf7 Available iomem:0xa000 - 0xa0ff ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [Another BUG? kernel 2.6.34-rc1] cs: warning: no high memory space available!
Hi, it works now. Thanks. >Ah, that seems like a change outside the PCMCIA realm. Could you try out the >following patch, please, which should adapt this driver to the new state of >things? > > > >diff --git a/drivers/pcmcia/pd6729.c b/drivers/pcmcia/pd6729.c >index 7c20491..7ba57a5 100644 >--- a/drivers/pcmcia/pd6729.c >+++ b/drivers/pcmcia/pd6729.c >@@ -671,6 +671,7 @@ static int __devinit pd6729_pci_probe(struct pci_dev *dev, > socket[i].socket.map_size = 0x1000; > socket[i].socket.irq_mask = mask; > socket[i].socket.pci_irq = dev->irq; >+ socket[i].socket.cb_dev = dev; Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [Another BUG? kernel 2.6.34-rc1] cs: warning: no high memory space available!
Hi, >... and a full dmesg output, if possible. Note: In my PC, pd6729 and yenta_socket are installed. [2.6.34-rc1] Linux version 2.6.34-rc1 (r...@localhost.localdomain) (gcc version 4.1.2 20070502 (Red Hat 4.1.2-12)) #1 SMP Sat Mar 13 09:59:12 JST 2010 BIOS-provided physical RAM map: BIOS-e820: - 0009fc00 (usable) BIOS-e820: 0009fc00 - 000a (reserved) BIOS-e820: 000e4000 - 0010 (reserved) BIOS-e820: 0010 - 3ffb (usable) BIOS-e820: 3ffb - 3ffc (ACPI data) BIOS-e820: 3ffc - 3fff (ACPI NVS) BIOS-e820: 3fff - 4000 (reserved) BIOS-e820: ff78 - 0001 (reserved) Notice: NX (Execute Disable) protection cannot be enabled: non-PAE kernel! DMI 2.3 present. AMI BIOS detected: BIOS may corrupt low RAM, working around it. e820 update range: - 0001 (usable) ==> (reserved) e820 update range: - 1000 (usable) ==> (reserved) e820 remove range: 000a - 0010 (usable) last_pfn = 0x3ffb0 max_arch_pfn = 0x10 MTRR default type: uncachable MTRR fixed ranges enabled: 0-9 write-back A-E uncachable F-F write-protect MTRR variable ranges enabled: 0 base 00 mask FFC000 write-back 1 base 00DC00 mask FFFC00 write-combining 2 disabled 3 disabled 4 disabled 5 disabled 6 disabled 7 disabled x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106 initial memory mapped : 0 - 00c0 found SMP MP-table at [c00ff780] ff780 init_memory_mapping: -377fe000 00 - 40 page 4k 40 - 003740 page 2M 003740 - 00377fe000 page 4k kernel direct mapping tables up to 377fe000 @ 15000-1a000 RAMDISK: 37d33000 - 37fef945 Allocated new RAMDISK: 0010 - 003bc945 Move RAMDISK from 37d33000 - 37fef944 to 0010 - 003bc944 ACPI: RSDP 000fa850 00021 (v02 ACPIAM) ACPI: XSDT 3ffb0100 0003C (v01 A M I OEMXSDT 03000615 MSFT 0097) ACPI: FACP 3ffb0290 000F4 (v03 A M I OEMFACP 03000615 MSFT 0097) ACPI: DSDT 3ffb03f0 0391B (v01 A0277 A0277001 0001 MSFT 010D) ACPI: FACS 3ffc 00040 ACPI: APIC 3ffb0390 00052 (v01 A M I OEMAPIC 03000615 MSFT 0097) ACPI: OEMB 3ffc0040 0003F (v01 A M I OEMBIOS 03000615 MSFT 0097) ACPI: Local APIC address 0xfee0 135MB HIGHMEM available. 887MB LOWMEM available. mapped low ram: 0 - 377fe000 low ram: 0 - 377fe000 Zone PFN ranges: DMA 0x0010 -> 0x1000 Normal 0x1000 -> 0x000377fe HighMem 0x000377fe -> 0x0003ffb0 Movable zone start PFN for each node early_node_map[2] active PFN ranges 0: 0x0010 -> 0x009f 0: 0x0100 -> 0x0003ffb0 On node 0 totalpages: 261951 free_area_init_node: node 0, pgdat c0780480, node_mem_map c1001200 DMA zone: 32 pages used for memmap DMA zone: 0 pages reserved DMA zone: 3951 pages, LIFO batch:0 Normal zone: 1744 pages used for memmap Normal zone: 221486 pages, LIFO batch:31 HighMem zone: 272 pages used for memmap HighMem zone: 34466 pages, LIFO batch:7 Using APIC driver default Detected use of extended apic ids on hypertransport bus ACPI: PM-Timer IO Port: 0x808 ACPI: Local APIC address 0xfee0 ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled) ACPI: IOAPIC (id[0x02] address[0xfec0] gsi_base[0]) IOAPIC[0]: apic_id 2, version 3, address 0xfec0, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) ACPI: IRQ0 used by override. ACPI: IRQ2 used by override. ACPI: IRQ9 used by override. Using ACPI (MADT) for SMP configuration information SMP: Allowing 2 CPUs, 0 hotplug CPUs nr_irqs_gsi: 24 early_res array is doubled to 64 at [16000 - 167ff] Allocating PCI resources starting at 4000 (gap: 4000:bf78) setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:2 nr_node_ids:1 PERCPU: Embedded 16 pages/cpu @c1c0 s41108 r0 d24428 u2097152 pcpu-alloc: s41108 r0 d24428 u2097152 alloc=1*4194304 pcpu-alloc: [0] 0 1 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 259903 Kernel command line: ro root=LABEL=/1 rhgb quiet PID hash table entries: 4096 (order: 2, 16384 bytes) Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Initializing CPU#0 Subtract (44 early reservations) #1 [001000 - 002000] EX TRAMPOLINE #2 [40 - 86ca94] TEXT DATA BSS #3 [86d000 - 87021c] BRK #4 [0ff790 - 10] BIOS reserved #5 [0ff780 - 0ff790]MP-table mpf #6 [09fc00 - 0e0250] BIOS reserved #7 [0e03bc - 0ff780] BIOS reserved #8 [0e0250 - 0e03bc]MP-table mpc #9
Re: [Another BUG? kernel 2.6.34-rc1] cs: warning: no high memory space available!
Hi, >a) do the cards still work? They do _not_ work on pd6729. >b) what's the output of cat /proc/iomem (2.6.34-rc1)? The difference is "4000- : PCI Bus #00" [2.6.34-rc1] - : reserved 0001-0009fbff : System RAM 0009fc00-0009 : reserved 000a-000b : PCI Bus #00 000a-000b : Video RAM area 000c-000c7fff : Video ROM 000e4000-000f : reserved 000f-000f : System ROM 0010-3ffa : System RAM 0040-0062100b : Kernel code 0062100c-00788d63 : Kernel data 007e7000-0086ca93 : Kernel bss 3ffb-3ffb : ACPI Tables 3ffc-3ffe : ACPI Non-volatile Storage 3fff-3fff : reserved 4000- : PCI Bus #00 4000-43ff : PCI CardBus :04 4400-47ff : PCI CardBus :04 4800-4bff : PCI CardBus :08 4c00-4fff : PCI CardBus :08 5000-5fff : :00:0c.0 5000-5fff : yenta_socket 50001000-50001fff : :00:0c.1 50001000-50001fff : yenta_socket dc00-dfff : :00:00.0 e000-f8ff : PCI Bus :03 e000-efff : :03:00.0 f9b0-f9b1 : :00:0a.0 f9c0-f9c03fff : :00:0a.0 f9e0-f9e000ff : :00:10.4 f9f0-fbff : PCI Bus :03 f9f0-f9f1 : :03:00.0 fa00-faff : :03:00.0 fb00-fbff : :03:00.0 fec0-fec003ff : IOAPIC 0 fee0-fee00fff : Local APIC fee0-fee00fff : pnp 00:0b ff78- : reserved fff8- : pnp 00:0b [2.6.33] - : reserved 0001-0009fbff : System RAM 0009fc00-0009 : reserved 000a-000b : Video RAM area 000c-000c7fff : Video ROM 000e4000-000f : reserved 000f-000f : System ROM 0010-3ffa : System RAM 0040-0061e383 : Kernel code 0061e384-0078857f : Kernel data 007e6000-00868333 : Kernel bss 3ffb-3ffb : ACPI Tables 3ffc-3ffe : ACPI Non-volatile Storage 3fff-3fff : reserved 4000-43ff : PCI CardBus :04 4400-47ff : PCI CardBus :04 4800-4bff : PCI CardBus :08 4c00-4fff : PCI CardBus :08 5000-5fff : :00:0c.0 5000-5fff : yenta_socket 50001000-50001fff : :00:0c.1 50001000-50001fff : yenta_socket 50002000-50002fff : pcmcia_socket1 dc00-dfff : :00:00.0 e000-f8ff : PCI Bus :03 e000-efff : :03:00.0 f9b0-f9b1 : :00:0a.0 f9c0-f9c03fff : :00:0a.0 f9e0-f9e000ff : :00:10.4 f9f0-fbff : PCI Bus :03 f9f0-f9f1 : :03:00.0 fa00-faff : :03:00.0 fb00-fbff : :03:00.0 fec0-fec003ff : IOAPIC 0 fee0-fee00fff : Local APIC fee0-fee00fff : pnp 00:0b ff78- : reserved fff8- : pnp 00:0b ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[Another BUG? kernel 2.6.34-rc1] cs: warning: no high memory space available!
Hi, At kernel 2.6.34-rc1, pd6729 can not find high memory. At kernel 2.6.33, there is no problem. [kernel 2.6.34-rc1] pcmcia_socket pcmcia_socket1: cs: IO port probe 0x100-0x3af: clean. pcmcia_socket pcmcia_socket1: cs: IO port probe 0x3e0-0x4ff: clean. pcmcia_socket pcmcia_socket1: cs: IO port probe 0x820-0x8ff: clean. pcmcia_socket pcmcia_socket1: cs: IO port probe 0xc00-0xcf7: clean. pcmcia_socket pcmcia_socket1: cs: memory probe 0x0c-0x0f: excluding 0xc-0xc7fff 0xe4000-0xf pcmcia_socket pcmcia_socket1: cs: memory probe 0xa000-0xa0ff: excluding 0xa000-0xa0ff pcmcia_socket pcmcia_socket1: cs: memory probe 0x6000-0x60ff: excluding 0x6000-0x60ff pcmcia_socket pcmcia_socket1: cs: IO port probe 0xa00-0xaff: clean. pcmcia_socket pcmcia_socket1: cs: warning: no high memory space available! [kernel 2.6.33] pcmcia_socket pcmcia_socket1: cs: IO port probe 0x100-0x3af: excluding 0x378-0x37f pcmcia_socket pcmcia_socket1: cs: IO port probe 0x3e0-0x4ff: clean. pcmcia_socket pcmcia_socket1: cs: IO port probe 0x820-0x8ff: clean. pcmcia_socket pcmcia_socket1: cs: IO port probe 0xc00-0xcf7: clean. pcmcia_socket pcmcia_socket1: cs: memory probe 0x0c-0x0f: excluding 0xc-0xc7fff 0xe4000-0xf pcmcia_socket pcmcia_socket1: cs: memory probe 0xa000-0xa0ff: clean. pcmcia_socket pcmcia_socket1: cs: memory probe 0x6000-0x60ff: clean. pcmcia_socket pcmcia_socket1: cs: IO port probe 0xa00-0xaff: clean. Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[PATCH kernel 2.6.33] pd6729: remove irq_list parameter
pd6729: remove irq_list parameter. it should be set by /etc/pcmcia/config.opts. Signed-off-by: Komuro --- --- linux-2.6.33/drivers/pcmcia/pd6729.c.orig 2010-02-28 08:36:55.0 +0900 +++ linux-2.6.33/drivers/pcmcia/pd6729.c2010-02-28 08:41:55.0 +0900 @@ -48,23 +48,13 @@ MODULE_AUTHOR("Jun Komuro http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Questions about ioport-assignments
Wolfram wrote: >>- Is it just a buggy card if it works at 0x300 but not 0xc300 >> (or is it maybe a problem with Linux assigning the io area)? >>- Why is IOAddrLines forced to 16 (and thus alignment to 0x1), but only >> if BasePort1 is 0? >Sorry, today I got this (after applying the patch to make my D-Link DMF560TX >work): Could you post the patch you made for D-Link DMF560TX? This problem is not fixed yet. Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[Error] cs: warning: no high memory space available!
Hi, After "pccardctl" eject and "pccardctl insert", I get the message "cs: warning: no high memory space available!" in the PCMCIA patches(brodo/pcmcia-2.6.git). >pcmcia_socket pcmcia_socket0: parse_uevents: events 0002 >pcmcia_socket pcmcia_socket0: insert >pcmcia_socket pcmcia_socket0: setup >pcmcia_socket pcmcia_socket0: reset >pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted into slot 0 >pcmcia_socket pcmcia_socket0: insert done >pcmcia_socket pcmcia_socket0: send_event(event 4, pri 0, callback 0xf88fbbbc) >pcmcia_socket pcmcia_socket0: ds_event(0x04, 0, 0xf6b00040) >pcmcia_socket pcmcia_socket0: cs: warning: no high memory space available! ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [RFC v3] PCMCIA locking updates for 2.6.34
Hi, > > eth8: command 0x5800 did not complete! > > eth8: command 0x5800 did not complete! > > eth8: command 0x5800 did not complete! > > eth8: command 0x5800 did not complete! > > eth8: command 0x5800 did not complete! > > Actually, this error happens when the conf->ConfigIndex of the 3com card > is not set up properly... >but that is statically set to "1" in 3c589_cs.c? I'm a bit confused... I set the ConfigIndex = 7 in 3c589_cs.c. 3CXEM556 works now. -link->conf.ConfigIndex = 1; +link->conf.ConfigIndex = 7; Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [RFC v3] PCMCIA locking updates for 2.6.34
Hi, >> eth0: 3Com 3c589, io 0x300, irq 3, hw_addr 00:00:86:xx:xx:xx >> 8K FIFO split 5:3 Rx:Tx, auto xcvr >Did you modify the hw_addr here, or is it reported wrongly here, compared to sorry, I modified the hw_addr, so the hw_addr is same between 2.6.33-rc8 and the PCMCIA patches. > eth8: command 0x5800 did not complete! > eth8: command 0x5800 did not complete! > eth8: command 0x5800 did not complete! > eth8: command 0x5800 did not complete! > eth8: command 0x5800 did not complete! Actually, this error happens when the conf->ConfigIndex of the 3com card is not set up properly... Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [RFC v3] PCMCIA locking updates for 2.6.34
Hi, > >these were, again, very valuable debug hints. Based on those I've upgraded > >my patches in the git repository. It'd be great if yo could re-run the test > >once again, ad still with the debug patch applied. (1) it seems the 3c562 multi_function card works now. (2) but another 3com card 3CXEM556 (multi_function + cis override) does not work. This card works fine with kernel 2.6.33-rc8. pcmcia_socket pcmcia_socket0: pccard: card ejected from slot 0 pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted into slot 0 pcmcia 0.0: pcmcia: registering new device pcmcia0.0 pcmcia 0.0: firmware: requesting cis/3CXEM556.cis pcmcia_socket pcmcia_socket0: Using replacement CIS eth0: 3Com 3c589, io 0x300, irq 3, hw_addr 00:00:86:32:c1:b5 8K FIFO split 5:3 Rx:Tx, auto xcvr pcmcia 0.1: pcmcia: registering new device pcmcia0.1 0.1: ttyS0 at I/O 0x3f8 (irq = 3) is a 16550A udev: renamed network interface eth0 to eth8 eth8: command 0x5800 did not complete! eth8: command 0x5800 did not complete! eth8: command 0x5800 did not complete! eth8: command 0x5800 did not complete! ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Fw: Re: [patch 1/1] drivers/pcmcia/yenta_socket.c: ENE CB712 CardBus bridge needs special treatment with Echo Audio Indigo soundcards
Hi, > > @@ -1408,7 +1408,7 @@ static struct pci_device_id yenta_table[ > > CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_7610, TI12XX), > > > > CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_710, TI12XX), > > - CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_712, TI12XX), >Any idea why the ENE 712 is removed here? > > + CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_712, ENE), > > CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_720, TI12XX), > > CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_722, TI12XX), > > CB_ID(PCI_VENDOR_ID_ENE, PCI_DEVICE_ID_ENE_1211, ENE), > > not removed. It is replaced by next line. Best Regards Komuro -- Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [RFC v3] PCMCIA locking updates for 2.6.34
Hi, >these were, again, very valuable debug hints. Based on those I've upgraded >my patches in the git repository. It'd be great if yo could re-run the test >once again, ad still with the debug patch applied. There is no updated patch in brodo/pcmcia-2.6.git? ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [RFC v3] PCMCIA locking updates for 2.6.34
Hi, When the 3com card does not work, the card_id and prod_id becomes the bogus value. The card_id should be 0x0562. the prod_id(2) should be "3C562D/3C563D" [Socket 0 Bridge: [yenta_cardbus] (bus ID: :04:06.0) Configuration: state: on ready: yes Voltage: 5.0V Vcc: 5.0V Vpp: 0.0V Socket 0 Device 0: [3c589_cs] (bus ID: 0.0) Configuration: state: on Product Name: 3Com Corporation 3C EtherLink III LAN+Modem PC Card Identification: manf_id: 0x0101 card_id: 0x function: 6 (network) prod_id(1): "3Com Corporation" (0xe1c0d2aa) prod_id(2): "3C" (0x1bbe751a) prod_id(3): "EtherLink III" (0xc9a029c2) prod_id(4): "LAN+Modem PC Card" (0x32d830f4) Socket 0 Device 1: [serial_cs] (bus ID: 0.1) Configuration: state: on Product Name: 3Com Corporation 3C EtherLink III LAN+Modem PC Card Identification: manf_id: 0x0101 card_id: 0x function: 6 (network) prod_id(1): "3Com Corporation" (0xe1c0d2aa) prod_id(2): "3C" (0x1bbe751a) prod_id(3): "EtherLink III" (0xc9a029c2) prod_id(4): "LAN+Modem PC Card" (0x32d830f4) ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [RFC v3] PCMCIA locking updates for 2.6.34
Hi, I tried the current(2010/02/29) brodo/pcmcia-2.6.git#master. The problem still happens. >> lspcmcia -vvv is same between before and after re-plug. > >Are the drivers bound before the re-plug? Now, with v4, does it work >out-of-the-box or does it work if you issue a > > echo 1 > > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_setup_done it does not work after this command. >? If it still doesn't work, what does "dmesg" tell us if you issue: > > echo "module pcmcia +p" > /sys/kernel/debug/dynamic_debug/control > echo 1 > > /sys/class/pcmcia_socket/pcmcia_socket0/available_resources_setup_done There is no /sys/kernel/debug/dynamic_debug directory in my PC. ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [RFC v3] PCMCIA locking updates for 2.6.34
Hi, The exported function should be locked like below? size_t pcmcia_get_tuple(struct pcmcia_device *p_dev, cisdata_t code, unsigned char **buf) { struct pcmcia_loop_get get = { .len = 0, .buf = buf, }; + mutex_lock(&s->ops_mutex); *get.buf = NULL; pcmcia_loop_tuple(p_dev, code, pcmcia_do_get_tuple, &get); + mutex_unlock(&s->ops_mutex); return get.len; } EXPORT_SYMBOL(pcmcia_get_tuple); ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [RFC v3] PCMCIA locking updates for 2.6.34
Hi, > > The 3c589_cs and serial_cs is not loaded at dmesg below. > > After re-plug, it works. > > Strange -- what does "lspcmcia -vvv" look like before and after re-plug? lspcmcia -vvv is same between before and after re-plug. By the way, the pcmcia-socket-startup is loaded after registering new device in this case. Is it correct? pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted into slot 0 pcmcia_socket pcmcia_socket0: cs: memory probe 0xd200-0xd3ee: excluding 0xd2f7-0xd315dfff 0xd3ee-0xd40cdfff pcmcia 0.0: pcmcia: registering new device pcmcia0.0 pcmcia 0.1: pcmcia: registering new device pcmcia0.1 pcmcia_socket pcmcia_socket0: cs: IO port probe 0x100-0x3af: clean. pcmcia_socket pcmcia_socket0: cs: IO port probe 0x3e0-0x4ff: excluding 0x4d0-0x4d7 pcmcia_socket pcmcia_socket0: cs: IO port probe 0x820-0x8ff: clean. pcmcia_socket pcmcia_socket0: cs: IO port probe 0xc00-0xcf7: clean. pcmcia_socket pcmcia_socket0: cs: memory probe 0x0c-0x0f: excluding 0xc-0xc7fff 0xd-0xd3fff 0xe-0xf pcmcia_socket pcmcia_socket0: cs: IO port probe 0xa00-0xaff: clean. Socket 0 Bridge:[yenta_cardbus] (bus ID: :04:06.0) Configuration: state: on ready: yes Voltage: 5.0V Vcc: 5.0V Vpp: 0.0V Available IRQs: 3, 5, 7, 10, 11 Available ioports: 0x0100 - 0x03af 0x03e0 - 0x04cf 0x04d8 - 0x04ff 0x0820 - 0x08ff 0x0a00 - 0x0aff 0x0c00 - 0x0cf7 0x1000 - 0x1fff Available iomem:0x000c8000 - 0x000c 0x000d4000 - 0x000d 0xd200 - 0xd2f6 0xd315e000 - 0xd3ed Socket 0 Device 0: [3c589_cs] (bus ID: 0.0) Configuration: state: on Product Name: 3Com Corporation 3C562D/3C563D EtherLink III LAN+Modem PC Card Identification: manf_id: 0x0101 card_id: 0x0562 function: 6 (network) prod_id(1): "3Com Corporation" (0xe1c0d2aa) prod_id(2): "3C562D/3C563D" (0xaa0fba64) prod_id(3): "EtherLink III" (0xc9a029c2) prod_id(4): "LAN+Modem PC Card" (0x32d830f4) Socket 0 Device 1: [serial_cs] (bus ID: 0.1) Configuration: state: on Product Name: 3Com Corporation 3C562D/3C563D EtherLink III LAN+Modem PC Card Identification: manf_id: 0x0101 card_id: 0x0562 function: 6 (network) prod_id(1): "3Com Corporation" (0xe1c0d2aa) prod_id(2): "3C562D/3C563D" (0xaa0fba64) prod_id(3): "EtherLink III" (0xc9a029c2) prod_id(4): "LAN+Modem PC Card" (0x32d830f4) ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [RFC v3] PCMCIA locking updates for 2.6.34
Hi, It seems [RFC v3 PCMCIA locking updates for 2.6.34] still has some problems. The 3c589_cs and serial_cs is not loaded at dmesg below. After re-plug, it works. pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted into slot 0 pcmcia_socket pcmcia_socket0: cs: memory probe 0xd200-0xd3ee: excluding 0xd2f7-0xd315dfff 0xd3ee-0xd40cdfff pcmcia 0.0: pcmcia: registering new device pcmcia0.0 pcmcia 0.1: pcmcia: registering new device pcmcia0.1 pcmcia_socket pcmcia_socket0: cs: IO port probe 0x100-0x3af: clean. pcmcia_socket pcmcia_socket0: cs: IO port probe 0x3e0-0x4ff: excluding 0x4d0-0x4d7 pcmcia_socket pcmcia_socket0: cs: IO port probe 0x820-0x8ff: clean. pcmcia_socket pcmcia_socket0: cs: IO port probe 0xc00-0xcf7: clean. pcmcia_socket pcmcia_socket0: cs: memory probe 0x0c-0x0f: excluding 0xc-0xc7fff 0xd-0xd3fff 0xe-0xf pcmcia_socket pcmcia_socket0: cs: IO port probe 0xa00-0xaff: clean. Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [RFC] PCMCIA locking updates for 2.6.34
Hi, Same result as Wolfram. > "echo d > /proc/sysrq-trigger" No output from sysrq-trigger. pcmcia 0.0: pcmcia: registering new device pcmcia0.0 pcmcia 0.1: pcmcia: registering new device pcmcia0.1 INFO: task modprobe:2191 blocked for more than 120 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. modprobe D 001c 0 2191 2187 0x0080 f45f1dd8 0086 36e648c7 001c f518c2f4 c0922ec0 c091e394 c0922ec0 f518c2f4 c0922ec0 c0922ec0 f45f fffd451a c3a84394 0001 001c f518c060 00d8 f6a1f178 f6a1f170 Call Trace: [] __mutex_lock_common+0x109/0x158 [] ? alloc_netdev_mq+0x19e/0x1bf [] __mutex_lock_slowpath+0x17/0x1a [] ? mutex_lock+0x30/0x3e [] mutex_lock+0x30/0x3e [] pcmcia_request_io+0x23/0xc9 [pcmcia] [] tc589_probe+0xfb/0x2eb [3c589_cs] [] pcmcia_device_probe+0x121/0x1a9 [pcmcia] [] ? device_release_driver+0xd/0x28 [] driver_probe_device+0x7e/0xf2 [] __driver_attach+0x48/0x64 [] bus_for_each_dev+0x42/0x6c [] driver_attach+0x19/0x1b [] ? __driver_attach+0x0/0x64 [] bus_add_driver+0x94/0x1c4 [] ? kset_find_obj+0x12/0x4f [] driver_register+0x7e/0xe5 [] pcmcia_register_driver+0xc2/0xf2 [pcmcia] [] ? init_tc589+0x0/0xf [3c589_cs] [] init_tc589+0xd/0xf [3c589_cs] [] do_one_initcall+0x51/0x144 [] sys_init_module+0xac/0x1e0 [] sysenter_do_call+0x12/0x2d INFO: task modprobe:2192 blocked for more than 120 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. modprobe D 001c 0 2192 2188 0x0080 f45f3e64 0086 3840b4f3 001c f5378f74 26c0 c091e394 c0922ec0 f5378f74 c0922ec0 c0922ec0 f45f3e5c fffd457c c3a04394 001c f5378ce0 f45f3e94 f712fc9c f712fc94 Call Trace: [] schedule_timeout+0x1b/0x95 [] ? pcmcia_devmatch+0x2a3/0x2b4 [pcmcia] [] ? __sysfs_add_one+0x2b/0x7a [] ? sysfs_addrm_finish+0x1b/0x93 [] ? sysfs_add_one+0x18/0xc2 [] __down_common+0x82/0xb9 [] __down+0x17/0x19 [] down+0x27/0x37 [] __driver_attach+0x2f/0x64 [] bus_for_each_dev+0x42/0x6c [] driver_attach+0x19/0x1b [] ? __driver_attach+0x0/0x64 [] bus_add_driver+0x94/0x1c4 [] ? kset_find_obj+0x23/0x4f [] driver_register+0x7e/0xe5 [] pcmcia_register_driver+0xc2/0xf2 [pcmcia] [] ? init_serial_cs+0x0/0xf [serial_cs] [] init_serial_cs+0xd/0xf [serial_cs] [] do_one_initcall+0x51/0x144 [] sys_init_module+0xac/0x1e0 [] sysenter_do_call+0x12/0x2d SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I) thaw-filesystems(J) saK show-backtrace-all-active-cpus(L) show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T) Unmount force-fb(V) show-blocked-tasks(W) dump-ftrace-buffer(Z) INFO: task modprobe:2191 blocked for more than 120 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. modprobe D 001c 0 2191 1 0x0080 f45f1dd8 0086 36e648c7 001c f518c2f4 c0922ec0 c091e394 c0922ec0 f518c2f4 c0922ec0 c0922ec0 f45f fffd451a c3a84394 0001 001c f518c060 00d8 f6a1f178 f6a1f170 Call Trace: [] __mutex_lock_common+0x109/0x158 [] ? alloc_netdev_mq+0x19e/0x1bf [] __mutex_lock_slowpath+0x17/0x1a [] ? mutex_lock+0x30/0x3e [] mutex_lock+0x30/0x3e [] pcmcia_request_io+0x23/0xc9 [pcmcia] [] tc589_probe+0xfb/0x2eb [3c589_cs] [] pcmcia_device_probe+0x121/0x1a9 [pcmcia] [] ? device_release_driver+0xd/0x28 [] driver_probe_device+0x7e/0xf2 [] __driver_attach+0x48/0x64 [] bus_for_each_dev+0x42/0x6c [] driver_attach+0x19/0x1b [] ? __driver_attach+0x0/0x64 [] bus_add_driver+0x94/0x1c4 [] ? kset_find_obj+0x12/0x4f [] driver_register+0x7e/0xe5 [] pcmcia_register_driver+0xc2/0xf2 [pcmcia] [] ? init_tc589+0x0/0xf [3c589_cs] [] init_tc589+0xd/0xf [3c589_cs] [] do_one_initcall+0x51/0x144 [] sys_init_module+0xac/0x1e0 [] sysenter_do_call+0x12/0x2d INFO: task modprobe:2192 blocked for more than 120 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. modprobe D 001c 0 2192 1 0x0080 f45f3e64 0086 3840b4f3 001c f5378f74 26c0 c091e394 c0922ec0 f5378f74 c0922ec0 c0922ec0 f45f3e5c fffd457c c3a04394 001c f5378ce0 f45f3e94 f712fc9c f712fc94 Call Trace: [] schedule_timeout+0x1b/0x95 [] ? pcmcia_devmatch+0x2a3/0x2b4 [pcmcia] [] ? __sysfs_add_one+0x2b/0x7a [] ? sysfs_addrm_finish+0x1b/0x93 [] ? sysfs_add_one+0x18/0xc2 [] __down_common+0x82/0xb9 [] __down+0x17/0x19 [] down+0x27/0x37 [] __driver_attach+0x2f/0x64 [] bus_for_each_dev+0x42/0x6c [] driver_attach+0x19/0x1b [] ? __driver_attach+0x0/0x64 [] bus_add_driver+0x94/0x1c4 [] ? kset_find_obj+0x23/0x4f [] driver_register+0x7e/0xe5 [] pcmcia_register_driver+0xc2/0xf2 [pcmcia] [] ? init_serial_cs+0x0/0xf [serial_cs] [] init_seri
Re: Questions about ioport-assignments
Hi, >> >- Is it just a buggy card if it works at 0x300 but not 0xc300 >> > (or is it maybe a problem with Linux assigning the io area)? >> >- Why is IOAddrLines forced to 16 (and thus alignment to 0x1), but only >> > if BasePort1 is 0? >> >> Some pcmcia-card decodes only lower 10bits (0x-0x03FF). >> Such card does not work on higher ports (0x0400-0x) >> > >Quick'n'Dirty patch -- or should we handle this generically, Komuro? Any way >to reliably detect these cards? I think your patch is not correct. >> >- Is it just a buggy card if it works at 0x300 but not 0xc300 It seems the card tries to request the ioport 0x300, but alloc_io_space (in pcmcia_resource.c) added 0xc000 accidentally . then ioport becomes 0xc300. That's strange. so I think alloc_io_space should be fixed. Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
RE: Questions about ioport-assignments
Hi, >- Is it just a buggy card if it works at 0x300 but not 0xc300 > (or is it maybe a problem with Linux assigning the io area)? >- Why is IOAddrLines forced to 16 (and thus alignment to 0x1), but only > if BasePort1 is 0? Some pcmcia-card decodes only lower 10bits (0x-0x03FF). Such card does not work on higher ports (0x0400-0x) So your card is not a buggy card. Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [PATCH V2] pcmcia/yenta: add module parameter for O2 speedups
Hi, (1) The default setting of O2_6933 should be "on"? (2) How about the name "enable_prefetch" instead of "o2_speedup"? > >O2-bridges can do read prefetch and write burst. However, for some combinatio ns >of older bridges and cards, this causes problems, so it is disabled for those >bridges. Now, as some users know their setup works with the speedups enabled, a >new parameter is introduced to the driver. Now, a user can specifically enabl e >or disable these features, while the default is what we have today: detect th e >bridge and decide accordingly. Fixes Bugzilla entry 15014. > >Simplify and unify the printouts, fix a whitespace issue while we are here. > >Signed-off-by: Wolfram Sang >Tested-by: frod...@gmail.com >Cc: Dominik Brodowski >--- Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work
Hi, >> >I have a bad feeling about this... might it be that cistpl.c isn't thread >> >safe at all? >> > >> >Could you test out this patch, please? >> With this patch, the 3c589_cs driver is not loaded at all. So I think this patch is not correct. >pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted into slot 0 >pcmcia_socket pcmcia_socket0: cs: memory probe 0xd200-0xd40f: ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work
Hi, >I have a bad feeling about this... might it be that cistpl.c isn't thread >safe at all? > >Could you test out this patch, please? OK. I will test it. By the way , do you think the pcmcia_core API is MP safe ? I need to learn the difference between spin_lock and mutex_lock. ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work
Hi, I got the kernel-oops by pcmcia-check-broken-cis at kernel 2.6.33-rc3. Do you think this is the same as CIS problem? pcmcia_socket pcmcia_socket0: cs: IO port probe 0x100-0x3af: clean. pcmcia_socket pcmcia_socket0: cs: IO port probe 0x3e0-0x4ff: excluding 0x4d0-0x4d7 pcmcia_socket pcmcia_socket0: cs: IO port probe 0x820-0x8ff: clean. pcmcia_socket pcmcia_socket0: cs: IO port probe 0xc00-0xcf7: clean. pcmcia_socket pcmcia_socket0: cs: IO port probe 0xa00-0xaff: clean. pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted into slot 0 pcmcia_socket pcmcia_socket0: cs: memory probe 0xd200-0xd40f: excluding 0xd2e7-0xd307 0xd3ef-0xd40f pcmcia 0.0: pcmcia: registering new device pcmcia0.0 pcmcia 0.1: pcmcia: registering new device pcmcia0.1 BUG: unable to handle kernel paging request at 00100100 IP: [] read_cis_cache+0x7e/0x106 *pdpt = 369b1001 *pde = Oops: [#1] SMP last sysfs file: /sys/devices/pci:00/:00:1e.0/:04:06.0/0.1/allow_func_id_match Modules linked in: usb_storage i2c_i801 yenta_socket rsrc_nonstatic ata_generic i915 drm_kms_helper drm i2c_algo_bit i2c_core video output [last unloaded: scsi_wait_scan] Pid: 916, comm: pcmcia-check-br Not tainted 2.6.33-rc3 #1 Portable PC/dynabook EX/63H EIP: 0060:[] EFLAGS: 00010287 CPU: 1 EIP is at read_cis_cache+0x7e/0x106 EAX: 00100100 EBX: 00ff ECX: 0134 EDX: 00100100 ESI: 0001 EDI: 0134 EBP: f64bbe8c ESP: f64bbe78 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process pcmcia-check-br (pid: 916, ti=f64ba000 task=f6478ce0 task.ti=f64ba000) Stack: f694dce4 f694dc40 00ff 0003 f64bbeac c0603353 0003 <0> f655b700 03031b53 f660d600 f655b700 f655b7ff f64bbf0c c0604484 f64bbedc <0> f703e000 f694dc40 012d 0132 0200 Call Trace: [] ? pccard_get_tuple_data+0x62/0x70 [] ? pccard_show_cis+0x193/0x273 [] ? read+0xf6/0x163 [] ? pccard_show_cis+0x0/0x273 [] ? read+0x0/0x163 [] ? vfs_read+0x92/0xf1 [] ? sys_read+0x4c/0x70 [] ? sysenter_do_call+0x12/0x2d Code: c2 a4 00 00 00 89 55 ec eb 21 39 78 08 75 1a 8b 4d 08 39 48 0c 75 12 39 70 10 75 0d 8b 7d 0c 8d 70 14 f3 a4 e9 82 00 00 00 89 d0 <8b> 10 0f 18 02 90 3b 45 ec 75 d4 8b 45 f0 66 83 78 14 00 79 11 EIP: [] read_cis_cache+0x7e/0x106 SS:ESP 0068:f64bbe78 CR2: 00100100 ---[ end trace cd442f1d2dcb6065 ]--- eth0: 3Com 3c562, io 0x300, irq 3, hw_addr 00:60:97:xx:xx:xx 8K FIFO split 5:3 Rx:Tx, auto xcvr udev: renamed network interface eth0 to eth7 0.1: ttyS0 at I/O 0x3f8 (irq = 3) is a 16550A ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: [ANOTHER BUG? kernel 2.6.32] 3com 3c562 card can't access CIS
Hi, I can't reproduce the CIS problem now. Below is the dmesg I got before. I think 3c589_cs is loaded before memory resource is ready. pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted into slot 0 pcmcia_socket pcmcia_socket0: cs: memory probe 0xd200-0xd40f: excludin g 0xd2e7-0xd307 0xd3ef-0xd40f pcmcia 0.0: pcmcia: registering new device pcmcia0.0 pcmcia 0.1: pcmcia: registering new device pcmcia0.1 pcmcia_socket pcmcia_socket0: cs: IO port probe 0x100-0x3af: clean. pcmcia_socket pcmcia_socket0: cs: IO port probe 0x3e0-0x4ff: excluding 0x4d0-0 x4d7 pcmcia_socket pcmcia_socket0: cs: IO port probe 0x820-0x8ff: clean. pcmcia_socket pcmcia_socket0: cs: IO port probe 0xc00-0xcf7: clean. pcmcia_socket pcmcia_socket0: cs: IO port probe 0xa00-0xaff: clean. 3c589_cs 0.0: pcmcia: could not parse base and rmask0 of CIS eth0: 3Com 3c562, io 0x300, irq 3, hw_addr ff:ff:ff:ff:ff:ff 32K FIFO split 3:5 Rx:Tx, auto xcvr 0.1: ttyS0 at I/O 0x3f8 (irq = 3) is a 16550A ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: Re: [ANOTHER BUG? kernel 2.6.32] 3com 3c562 card can't access CIS
>>This can be (and probably is) totally unrelated, but e.g. in Fedora 10 >>somewhere in their 2.6.27.xx kernel series updates, my USB 3G modem >>stopped to work if it was plugged to USB port at the boot time. After >>booting, doing unplug->replug it started to work normally. >> >>I just wonder if there is something wrong in the kernel hotplug system >>or something. >> > sorry, I tried the Fedore11 + kernel-2.6.32 again. My USB CDROM is detected properly. ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: [ANOTHER BUG? kernel 2.6.32] 3com 3c562 card can't access CIS
Hi, >This can be (and probably is) totally unrelated, but e.g. in Fedora 10 >somewhere in their 2.6.27.xx kernel series updates, my USB 3G modem >stopped to work if it was plugged to USB port at the boot time. After >booting, doing unplug->replug it started to work normally. > >I just wonder if there is something wrong in the kernel hotplug system >or something. > Yes. Actually, if I connect the USB CDROM and boot linux, the USB CDROM is not detected and I need to replug it. So I think at least USB device support of udev has the bug. Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [ANOTHER BUG? kernel 2.6.32] 3com 3c562 card can't access CIS
Hi, >Good to know it's reproducible... Does issuing > ># pccardctl eject ># pccardctl insert > >without actually ejecting and inserting the card fix the issue you're >seeing? > afer pccardctl eject, pccardctl insert, the card works. ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [PATCH 1/2] pcmcia: remove unused IRQ_FIRST_SHARED
Hi, In drivers/net/pcmcia/smc91c92_cs.c, one IRQ_FIRST_SHARED is not removed yet. (1) static int osi_config(struct pcmcia_device *link) { struct net_device *dev = link->priv; static const unsigned int com[4] = { 0x3f8, 0x2f8, 0x3e8, 0x2e8 }; int i, j; link->conf.Attributes |= CONF_ENABLE_SPKR; link->conf.Status = CCSR_AUDIO_ENA; link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING|IRQ_FIRST_SHARED;<== HERE (2) static int mhz_mfc_config(struct pcmcia_device *link) { struct net_device *dev = link->priv; struct smc_private *smc = netdev_priv(dev); win_req_t req; memreq_t mem; int i; link->conf.Attributes |= CONF_ENABLE_SPKR; link->conf.Status = CCSR_AUDIO_ENA; -link->irq.Attributes = -IRQ_TYPE_DYNAMIC_SHARING; <== It should be one line? +link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING; ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: [ANOTHER BUG? kernel 2.6.32] 3com 3c562 card can't access CIS
Hi, > >what's the difference between "lspcmcia -vvv" when the problem exists, and >when the problem does not appear? Can you read out the CIS via sysfs even >when the problem exists, and is it the same as when the problem does not >appear? The "lspcmcia -vvv" is same between the problem appear and problem does not appear. Actually, this problem appear when I connect the 3com card and boot linux. Even if the problem appear , after replugging the card, it works well. I can read the CIS from /sys/class/pcmcia_socket/pcmcia_socket0/cis. Socket 0 Bridge:[yenta_cardbus] (bus ID: :04:06.0) Configuration: state: on ready: yes Voltage: 5.0V Vcc: 5.0V Vpp: 0.0V Available IRQs: 3, 5, 7, 10, 11 Available ioports: 0x0100 - 0x03af 0x03e0 - 0x04cf 0x04d8 - 0x04ff 0x0820 - 0x08ff 0x0a00 - 0x0aff 0x0c00 - 0x0cf7 0x1000 - 0x1fff Available iomem:0x000c - 0x000f 0xd200 - 0xd2e6 0xd308 - 0xd3ee Socket 0 Device 0: [3c589_cs] (bus ID: 0.0) Configuration: state: on Product Name: 3Com Corporation 3C562D/3C563D EtherLink III LAN+Modem PC Car d Identification: manf_id: 0x0101 card_id: 0x0562 function: 6 (network) prod_id(1): "3Com Corporation" (0xe1c0d2aa) prod_id(2): "3C562D/3C563D" (0xaa0fba64) prod_id(3): "EtherLink III" (0xc9a029c2) prod_id(4): "LAN+Modem PC Card" (0x32d830f4) Socket 0 Device 1: [serial_cs] (bus ID: 0.1) Configuration: state: on Product Name: 3Com Corporation 3C562D/3C563D EtherLink III LAN+Modem PC Car d Identification: manf_id: 0x0101 card_id: 0x0562 function: 6 (network) prod_id(1): "3Com Corporation" (0xe1c0d2aa) prod_id(2): "3C562D/3C563D" (0xaa0fba64) prod_id(3): "EtherLink III" (0xc9a029c2) prod_id(4): "LAN+Modem PC Card" (0x32d830f4) ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
[ANOTHER BUG? kernel 2.6.32] 3com 3c562 card can't access CIS
Hi, The problem below is CIS problem and no relation with kernel/resource.c. This problem is introduced at kernel 2.6.32 or earlier. >but if I connect the 3Com 3c562 and boot the linux, >the mac address of 3c562 sometimes becomes ff:ff:ff:ff:ff:ff. >the mac address becomes normal after replugging it. > >>pcmcia 0.0: pcmcia: registering new device pcmcia0.0 >>pcmcia 0.1: pcmcia: registering new device pcmcia0.1 >>0.1: ttyS0 at I/O 0x3f8 (irq = 3) is a 16550A >>3c589_cs 0.0: pcmcia: could not parse base and rmask0 of CIS >>eth0: 3Com 3c562, io 0x300, irq 3, hw_addr ff:ff:ff:ff:ff:ff >> 32K FIFO split 3:5 Rx:Tx, auto xcvr ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work
Hi, I think the resource problem is fixed. but if I connect the 3Com 3c562 and boot the linux, the mac address of 3c562 sometimes becomes ff:ff:ff:ff:ff:ff. the mac address becomes normal after replugging it. >pcmcia 0.0: pcmcia: registering new device pcmcia0.0 >pcmcia 0.1: pcmcia: registering new device pcmcia0.1 >0.1: ttyS0 at I/O 0x3f8 (irq = 3) is a 16550A >3c589_cs 0.0: pcmcia: could not parse base and rmask0 of CIS >eth0: 3Com 3c562, io 0x300, irq 3, hw_addr ff:ff:ff:ff:ff:ff > 32K FIFO split 3:5 Rx:Tx, auto xcvr Best Regards Komuro >Hey, > >On Sun, Dec 20, 2009 at 03:11:05PM +0900, Komuro wrote: >> >Any chance you could bisect it further? Also, does "lspci -vvv", >> >"/proc/ioports" and/or "/proc/iomem" change between -git7 and -git8? >> > > >Could you test this patch, please? > >Best, > Dominik > >From: Dominik Brodowski >Date: Sun, 20 Dec 2009 10:04:56 +0100 >Subject: [PATCH] resources: fix call to alignf() in allocate_resource() > >The second parameter to alignf() in allocate_resource() must >reflect what new resource is attempted to be allocated, else >functions like pcibios_align_resource() (at least on x86) or >pcmcia_align() can't work correctly. > >Commit 1e5ad9679016275d422e36b12a98b0927d76f556 broke this by >setting the "new" resource until we're about to return success. >To keep the resource untouched when allocate_resource() fails, >a "tmp" resource is introduced. > >CC: Linus Torvalds >CC: Yinghai Lu >CC: Bjorn Helgaas >CC: Jesse Barnes >Signed-off-by: Dominik Brodowski > >diff --git a/kernel/resource.c b/kernel/resource.c >index dc15686..af96c1e 100644 >--- a/kernel/resource.c >+++ b/kernel/resource.c >@@ -308,37 +308,37 @@ static int find_resource(struct resource *root, struct resource *new, >void *alignf_data) > { > struct resource *this = root->child; >- resource_size_t start, end; >+ struct resource tmp = *new; > >- start = root->start; >+ tmp.start = root->start; > /* >* Skip past an allocated resource that starts at 0, since the > assignment >- * of this->start - 1 to new->end below would cause an underflow. >+ * of this->start - 1 to tmp->end below would cause an underflow. >*/ > if (this && this->start == 0) { >- start = this->end + 1; >+ tmp.start = this->end + 1; > this = this->sibling; > } > for(;;) { > if (this) >- end = this->start - 1; >+ tmp.end = this->start - 1; > else >- end = root->end; >- if (start < min) >- start = min; >- if (end > max) >- end = max; >- start = ALIGN(start, align); >+ tmp.end = root->end; >+ if (tmp.start < min) >+ tmp.start = min; >+ if (tmp.end > max) >+ tmp.end = max; >+ tmp.start = ALIGN(tmp.start, align); > if (alignf) >- alignf(alignf_data, new, size, align); >- if (start < end && end - start >= size - 1) { >- new->start = start; >- new->end = start + size - 1; >+ alignf(alignf_data, &tmp, size, align); >+ if (tmp.start < tmp.end && tmp.end - tmp.start >= size - 1) { >+ new->start = tmp.start; >+ new->end = tmp.start + size - 1; > return 0; > } > if (!this) > break; >- start = this->end + 1; >+ tmp.start = this->end + 1; > this = this->sibling; > } > return -EBUSY; ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work
Hi, >Any chance you could bisect it further? Also, does "lspci -vvv", >"/proc/ioports" and/or "/proc/iomem" change between -git7 and -git8? > Here is the patch that introduced the problem pointed out by bisect. but this result is apparently wrong. commit 5f1586d0dd8f6eeecf6c0d35cbca6291afd6f1cc Author: Ryusuke Konishi Date: Sun Nov 29 19:14:17 2009 +0900 nilfs2: do not return io error for bio allocation failure Previously, log writer had possibility to set an io error flag on segments even in case of memory allocation failure. This fixes the issue. Signed-off-by: Ryusuke Konishi diff --git a/fs/nilfs2/segbuf.c b/fs/nilfs2/segbuf.c ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work
Hi, >Any chance you could bisect it further? Also, does "lspci -vvv", >"/proc/ioports" and/or "/proc/iomem" change between -git7 and -git8? Here is the difference of lspci , ioports and iomem. I tried the bisect, but I failed to get the correct result. maybe I mistyped the bisect command. (It takes too many time to complete bisect) --- lspci-7 2009-12-20 06:32:32.0 +0900 +++ lspci-8 2009-12-20 06:29:42.0 +0900 @@ -216,7 +216,7 @@ Memory window 0: dc00-d000 (prefetchable) Memory window 1: e000-e3fff000 I/O window 0: 1000-10ff - I/O window 1: 1400-14ff + I/O window 1: 1100-11ff 16-bit legacy interface ports at 0001 Kernel driver in use: yenta_cardbus Kernel modules: yenta_socket --- iomem-7 2009-12-20 06:33:42.0 +0900 +++ iomem-8 2009-12-20 06:30:05.0 +0900 @@ -6,8 +6,8 @@ 000e-000f : reserved 000f-000f : System ROM 0010-b7b6bfff : System RAM - 0040-0070e7c0 : Kernel code - 0070e7c1-008eda7f : Kernel data + 0040-0070ebc8 : Kernel code + 0070ebc9-008edaff : Kernel data 00972000-00a30bef : Kernel bss b7b6c000-b7bbefff : reserved b7bbf000-b7c85fff : System RAM @@ -42,7 +42,7 @@ dab05800-dab058ff : :00:1f.3 dc00-dfff : PCI CardBus :05 e000-e3ff : PCI CardBus :05 -f800-fbff : PCI MMCONFIG 0 [00-3f] +f800-fbff : PCI MMCONFIG [bus 00-3f] f800-fbff : reserved f800-fbff : pnp 00:01 fec0-fec00fff : reserved --- ioports-7 2009-12-20 06:33:31.0 +0900 +++ ioports-8 2009-12-20 06:29:56.0 +0900 @@ -9,10 +9,7 @@ 00a0-00a1 : pic2 00c0-00df : dma2 00f0-00ff : fpu -0300-030f : pcmcia_socket0 03c0-03df : vga+ -03f8-03ff : pcmcia_socket0 - 03f8-03ff : serial 0400-047f : pnp 00:01 0400-0403 : ACPI PM1a_EVT_BLK 0404-0405 : ACPI PM1a_CNT_BLK @@ -29,7 +26,9 @@ 0cf8-0cff : PCI conf1 1000-1fff : PCI Bus :04 1000-10ff : PCI CardBus :05 - 1400-14ff : PCI CardBus :05 + 1100-11ff : PCI CardBus :05 + 1200-120f : pcmcia_socket0 + 1210-1217 : pcmcia_socket0 2000-2fff : PCI Bus :06 3000-3fff : PCI Bus :03 4000-5fff : PCI Bus :02 ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work
Hi, 2.6.32-git7(2009/12/11) works and 2.6.32-git8(2009/12/12) does not work. So I think "'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbar nes" introduces this problem. author Linus Torvalds Fri, 11 Dec 2009 20:18:16 + (12:18 -0800) committer Linus Torvalds Fri, 11 Dec 2009 20:18:16 + (12:18 -0800) commit 11bd04f6f35621193311c32e0721142b073a7794 tree00979740582bb26e8d3756bf3526c85f19f66a46tree | snapshot parent 4e2ccdb0409146f8cf64a11b6ef82a9c928ced2acommit | diff parent 9e0b5b2c447ad0caa075a5cfef86def62e1782ffcommit | diff Merge branch 'linux-next' of git://git./linux/kernel/git/jbarnes/pci-2.6 * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2. 6: (109 commits) PCI: fix coding style issue in pci_save_state() PCI: add pci_request_acs PCI: fix BUG_ON triggered by logical PCIe root port removal PCI: remove ifdefed pci_cleanup_aer_correct_error_status PCI: unconditionally clear AER uncorr status register during cleanup x86/PCI: claim SR-IOV BARs in pcibios_allocate_resource PCI: portdrv: remove redundant definitions PCI: portdrv: remove unnecessary struct pcie_port_data PCI: portdrv: minor cleanup for pcie_port_device_register PCI: portdrv: add missing irq cleanup PCI: portdrv: enable device before irq initialization PCI: portdrv: cleanup service irqs initialization PCI: portdrv: check capabilities first PCI: portdrv: move PME capability check PCI: portdrv: remove redundant pcie type calculation PCI: portdrv: cleanup pcie_device registration PCI: portdrv: remove redundant pcie_port_device_probe PCI: Always set prefetchable base/limit upper32 registers PCI: read-modify-write the pcie device control register when initiating pcie flr PCI: show dma_mask bits in /sys ... >> >>> The mac address of 3c562 becomes ff:ff:ff:ff:ff:ff >>> and no startup message appear for serial. >> >>Ouch. >> >>> This card works with kernel-2.6.32-git7. >> >>Hm, there didn't happen much in PCMCIA land between git7 and git10: >> >># git log --pretty=oneline 3ef884b4c04e857c283cc77ca70ad8f638d94b0e..f405425 3 >2e96dda5506eb76badea322f2ae4731c drivers/pcmcia/ include/pcmcia/ >>11bd04f6f35621193311c32e0721142b073a7794 Merge branch 'linux-next' of git:// g >it.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 >>15ea76d407d560f985224b65fe59c9db01692a0d pccard: configure CLS on attach >> >>which only seems relevant for CardBus. Nonetheless: could you try commenting >>out the line "pci_set_cacheline_size(dev)" in >>drivers/pcmcia/cardbus.c:cardbus_config_irq_and_cls() ? >> > >Even if I revert the "pccard: configure CLS on attach" manually, >3com 3c562 still does not work. > >Best Regards >Komuro > > > >___ >Linux PCMCIA reimplementation list >http://lists.infradead.org/mailman/listinfo/linux-pcmcia ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia
Re: Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work
Hi > >> The mac address of 3c562 becomes ff:ff:ff:ff:ff:ff >> and no startup message appear for serial. > >Ouch. > >> This card works with kernel-2.6.32-git7. > >Hm, there didn't happen much in PCMCIA land between git7 and git10: > ># git log --pretty=oneline 3ef884b4c04e857c283cc77ca70ad8f638d94b0e..f4054253 2e96dda5506eb76badea322f2ae4731c drivers/pcmcia/ include/pcmcia/ >11bd04f6f35621193311c32e0721142b073a7794 Merge branch 'linux-next' of git://g it.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 >15ea76d407d560f985224b65fe59c9db01692a0d pccard: configure CLS on attach > >which only seems relevant for CardBus. Nonetheless: could you try commenting >out the line "pci_set_cacheline_size(dev)" in >drivers/pcmcia/cardbus.c:cardbus_config_irq_and_cls() ? > Even if I revert the "pccard: configure CLS on attach" manually, 3com 3c562 still does not work. Best Regards Komuro ___ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia