Re: pcmciautils.git

2012-03-16 Thread Komuro
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

2012-02-10 Thread Komuro
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?

2011-08-06 Thread Komuro

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

2011-08-01 Thread Komuro
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

2011-08-01 Thread Komuro
>> 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

2011-07-31 Thread Komuro


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

2011-07-31 Thread Komuro

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

2011-07-24 Thread Komuro
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

2011-07-24 Thread Komuro
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

2011-07-23 Thread Komuro
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

2011-04-24 Thread Komuro

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

2011-04-24 Thread Komuro
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

2011-04-24 Thread Komuro

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

2010-10-22 Thread Komuro
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()

2010-09-19 Thread Komuro
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()

2010-09-18 Thread Komuro
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()

2010-09-18 Thread Komuro
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()

2010-09-17 Thread Komuro
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()

2010-09-17 Thread Komuro
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()

2010-09-07 Thread Komuro

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()

2010-09-04 Thread Komuro
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()

2010-08-31 Thread Komuro
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()

2010-08-27 Thread Komuro

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()

2010-08-20 Thread Komuro

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()

2010-08-20 Thread Komuro
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()

2010-08-13 Thread Komuro

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()

2010-08-08 Thread Komuro
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

2010-08-02 Thread Komuro
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

2010-07-24 Thread Komuro
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

2010-07-22 Thread Komuro
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

2010-07-17 Thread Komuro
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?

2010-06-12 Thread Komuro

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?

2010-06-11 Thread Komuro

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)

2010-06-06 Thread Komuro
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

2010-05-09 Thread Komuro
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

2010-05-04 Thread Komuro
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

2010-05-02 Thread Komuro
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

2010-04-30 Thread Komuro
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

2010-04-29 Thread Komuro
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

2010-04-29 Thread Komuro
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

2010-04-28 Thread Komuro
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

2010-04-28 Thread Komuro

>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

2010-04-17 Thread Komuro

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

2010-04-17 Thread Komuro

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

2010-04-16 Thread Komuro
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

2010-04-16 Thread Komuro
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

2010-04-16 Thread Komuro
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

2010-04-15 Thread Komuro

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

2010-04-10 Thread Komuro
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

2010-04-08 Thread Komuro

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

2010-04-05 Thread Komuro
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

2010-04-04 Thread Komuro

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()

2010-04-03 Thread Komuro
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()

2010-04-02 Thread Komuro
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

2010-03-27 Thread Komuro

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

2010-03-27 Thread Komuro
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

2010-03-26 Thread Komuro
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.

2010-03-23 Thread Komuro
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.

2010-03-22 Thread Komuro
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.

2010-03-21 Thread Komuro
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.

2010-03-20 Thread Komuro
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

2010-03-19 Thread Komuro


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

2010-03-14 Thread Komuro
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

2010-03-13 Thread Komuro
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!

2010-03-13 Thread Komuro

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!

2010-03-13 Thread Komuro
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!

2010-03-13 Thread Komuro
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!

2010-03-13 Thread Komuro
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

2010-02-27 Thread Komuro

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

2010-02-21 Thread Komuro
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!

2010-02-20 Thread Komuro
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

2010-02-20 Thread Komuro
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

2010-02-20 Thread Komuro
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

2010-02-19 Thread Komuro

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

2010-02-19 Thread Komuro

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

2010-02-17 Thread Komuro

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

2010-02-02 Thread Komuro

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

2010-01-29 Thread Komuro

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

2010-01-20 Thread Komuro

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

2010-01-19 Thread Komuro
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

2010-01-19 Thread Komuro
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

2010-01-16 Thread Komuro
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

2010-01-15 Thread Komuro
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

2010-01-14 Thread Komuro
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

2010-01-10 Thread Komuro
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

2010-01-09 Thread Komuro
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

2010-01-09 Thread Komuro
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

2010-01-07 Thread Komuro
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

2010-01-03 Thread Komuro

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

2010-01-01 Thread Komuro
>>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

2010-01-01 Thread Komuro
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

2010-01-01 Thread Komuro
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

2009-12-30 Thread Komuro

 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

2009-12-30 Thread Komuro

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

2009-12-23 Thread Komuro

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

2009-12-20 Thread Komuro

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

2009-12-19 Thread Komuro
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

2009-12-19 Thread Komuro
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

2009-12-18 Thread Komuro

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

2009-12-16 Thread Komuro
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


  1   2   >