Re: [PATCH] pcmcia: Add support P2CCLK bit enabler for TI PC1520

2008-01-11 Thread Andrew Morton
On Sat, 12 Jan 2008 10:04:11 +0900
"Nobuhiro Iwamatsu" <[EMAIL PROTECTED]> wrote:

> 2007/12/26, Andrew Morton <[EMAIL PROTECTED]>:
> > On Tue, 18 Dec 2007 18:57:24 +0900 Nobuhiro Iwamatsu <[EMAIL PROTECTED]> 
> > wrote:
> >
> > > There is a device that doesn't work when P2CCLK's bit of TI PC1520 was 
> > > disable.
> > > This patch supports P2CCLK bit enabler for TI PC1520.
> > >
> > > ...
> > >
> > >  config YENTA_TOSHIBA
> > >   default y
> > >   bool "Special initialization for Toshiba ToPIC bridges" if EMBEDDED
> > > diff --git a/drivers/pcmcia/ti113x.h b/drivers/pcmcia/ti113x.h
> > > index d29657b..ea749e8 100644
> > > --- a/drivers/pcmcia/ti113x.h
> > > +++ b/drivers/pcmcia/ti113x.h
> > > @@ -59,6 +59,7 @@
> > >  #define  TI122X_SCR_SER_STEP 0xc000
> > >  #define  TI122X_SCR_INTRTIE  0x2000
> > >  #define  TIXX21_SCR_TIEALL   0x1000
> > > +#define  TI122X_SCR_P2CCLK   0x0800
> > >  #define  TI122X_SCR_CBRSVD   0x0040
> > >  #define  TI122X_SCR_MRBURSTDN0x8000
> > >  #define  TI122X_SCR_MRBURSTUP0x4000
> > > @@ -822,6 +823,13 @@ static int ti12xx_override(struct yenta_socket 
> > > *socket)
> > >   printk(KERN_INFO "Yenta: Enabling burst memory read 
> > > transactions\n");
> > >   val |= TI122X_SCR_MRBURSTUP;
> > >   }
> > > +
> > > +#ifdef CONFIG_YENTA_TI_P2CCLK
> > > + if ( !(val & TI122X_SCR_P2CCLK)) {
> > > + printk(KERN_INFO "Yenta: Clock generated by internal 
> > > oscillator\n");
> > > + val |= TI122X_SCR_P2CCLK;
> > > + }
> > > +#endif
> > >   if (val_orig != val)
> > >   config_writel(socket, TI113X_SYSTEM_CONTROL, val);
> >
> > It would be much better if we cold do this without the config option: just
> > detect the appropriate device and make it work.
> 
> This bit is enable for PC in BIOS.
> However, I think that I want to control even by the kernel in
> building in because it is a boot loader situation.
> 
> I think that this will not be able to be done by automatic.
> 
> Please apply this patch.
> 

What does the TI122X_SCR_P2CCLK bit do?

The printk which you're adding is ambiguous.  Does it mean that the clock
is already generated by the internal oscillator, or that it is not, and
that the kernel is now arranging for it to be generated by the internal
oscillator?

What did the BIOS actually do?  Did it enable an external oscillator when
the motherboard doesn't actually connect an oscillator to the
external-oscillator pin?  Or what?

So.  Please generally tell us (completely) what the problem is, and how
this patch attempts to fix it.  Please also fully explain why we cannot
fix this problem without resorting to a config option, because avoiding
the config option is highly desirable.

Please bear in mind that this part of the kernel is effectively
unmaintained, so poor ignorant people like me need to try to look after it
so I need to be carefully educated about what's going on.

Thanks.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] pcmcia: Add support P2CCLK bit enabler for TI PC1520

2008-01-11 Thread Nobuhiro Iwamatsu
2007/12/26, Andrew Morton <[EMAIL PROTECTED]>:
> On Tue, 18 Dec 2007 18:57:24 +0900 Nobuhiro Iwamatsu <[EMAIL PROTECTED]> 
> wrote:
>
> > There is a device that doesn't work when P2CCLK's bit of TI PC1520 was 
> > disable.
> > This patch supports P2CCLK bit enabler for TI PC1520.
> >
> > ...
> >
> >  config YENTA_TOSHIBA
> >   default y
> >   bool "Special initialization for Toshiba ToPIC bridges" if EMBEDDED
> > diff --git a/drivers/pcmcia/ti113x.h b/drivers/pcmcia/ti113x.h
> > index d29657b..ea749e8 100644
> > --- a/drivers/pcmcia/ti113x.h
> > +++ b/drivers/pcmcia/ti113x.h
> > @@ -59,6 +59,7 @@
> >  #define  TI122X_SCR_SER_STEP 0xc000
> >  #define  TI122X_SCR_INTRTIE  0x2000
> >  #define  TIXX21_SCR_TIEALL   0x1000
> > +#define  TI122X_SCR_P2CCLK   0x0800
> >  #define  TI122X_SCR_CBRSVD   0x0040
> >  #define  TI122X_SCR_MRBURSTDN0x8000
> >  #define  TI122X_SCR_MRBURSTUP0x4000
> > @@ -822,6 +823,13 @@ static int ti12xx_override(struct yenta_socket *socket)
> >   printk(KERN_INFO "Yenta: Enabling burst memory read 
> > transactions\n");
> >   val |= TI122X_SCR_MRBURSTUP;
> >   }
> > +
> > +#ifdef CONFIG_YENTA_TI_P2CCLK
> > + if ( !(val & TI122X_SCR_P2CCLK)) {
> > + printk(KERN_INFO "Yenta: Clock generated by internal 
> > oscillator\n");
> > + val |= TI122X_SCR_P2CCLK;
> > + }
> > +#endif
> >   if (val_orig != val)
> >   config_writel(socket, TI113X_SYSTEM_CONTROL, val);
>
> It would be much better if we cold do this without the config option: just
> detect the appropriate device and make it work.

This bit is enable for PC in BIOS.
However, I think that I want to control even by the kernel in
building in because it is a boot loader situation.

I think that this will not be able to be done by automatic.

Please apply this patch.

regards,
 Nobuhiro
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] pcmcia: Add support P2CCLK bit enabler for TI PC1520

2008-01-11 Thread Nobuhiro Iwamatsu
2007/12/26, Andrew Morton [EMAIL PROTECTED]:
 On Tue, 18 Dec 2007 18:57:24 +0900 Nobuhiro Iwamatsu [EMAIL PROTECTED] 
 wrote:

  There is a device that doesn't work when P2CCLK's bit of TI PC1520 was 
  disable.
  This patch supports P2CCLK bit enabler for TI PC1520.
 
  ...
 
   config YENTA_TOSHIBA
default y
bool Special initialization for Toshiba ToPIC bridges if EMBEDDED
  diff --git a/drivers/pcmcia/ti113x.h b/drivers/pcmcia/ti113x.h
  index d29657b..ea749e8 100644
  --- a/drivers/pcmcia/ti113x.h
  +++ b/drivers/pcmcia/ti113x.h
  @@ -59,6 +59,7 @@
   #define  TI122X_SCR_SER_STEP 0xc000
   #define  TI122X_SCR_INTRTIE  0x2000
   #define  TIXX21_SCR_TIEALL   0x1000
  +#define  TI122X_SCR_P2CCLK   0x0800
   #define  TI122X_SCR_CBRSVD   0x0040
   #define  TI122X_SCR_MRBURSTDN0x8000
   #define  TI122X_SCR_MRBURSTUP0x4000
  @@ -822,6 +823,13 @@ static int ti12xx_override(struct yenta_socket *socket)
printk(KERN_INFO Yenta: Enabling burst memory read 
  transactions\n);
val |= TI122X_SCR_MRBURSTUP;
}
  +
  +#ifdef CONFIG_YENTA_TI_P2CCLK
  + if ( !(val  TI122X_SCR_P2CCLK)) {
  + printk(KERN_INFO Yenta: Clock generated by internal 
  oscillator\n);
  + val |= TI122X_SCR_P2CCLK;
  + }
  +#endif
if (val_orig != val)
config_writel(socket, TI113X_SYSTEM_CONTROL, val);

 It would be much better if we cold do this without the config option: just
 detect the appropriate device and make it work.

This bit is enable for PC in BIOS.
However, I think that I want to control even by the kernel in
building in because it is a boot loader situation.

I think that this will not be able to be done by automatic.

Please apply this patch.

regards,
 Nobuhiro
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] pcmcia: Add support P2CCLK bit enabler for TI PC1520

2007-12-25 Thread Andrew Morton
On Tue, 18 Dec 2007 18:57:24 +0900 Nobuhiro Iwamatsu <[EMAIL PROTECTED]> wrote:

> There is a device that doesn't work when P2CCLK's bit of TI PC1520 was 
> disable.
> This patch supports P2CCLK bit enabler for TI PC1520.
> 
> ...
>
>  config YENTA_TOSHIBA
>   default y
>   bool "Special initialization for Toshiba ToPIC bridges" if EMBEDDED
> diff --git a/drivers/pcmcia/ti113x.h b/drivers/pcmcia/ti113x.h
> index d29657b..ea749e8 100644
> --- a/drivers/pcmcia/ti113x.h
> +++ b/drivers/pcmcia/ti113x.h
> @@ -59,6 +59,7 @@
>  #define  TI122X_SCR_SER_STEP 0xc000
>  #define  TI122X_SCR_INTRTIE  0x2000
>  #define  TIXX21_SCR_TIEALL   0x1000
> +#define  TI122X_SCR_P2CCLK   0x0800
>  #define  TI122X_SCR_CBRSVD   0x0040
>  #define  TI122X_SCR_MRBURSTDN0x8000
>  #define  TI122X_SCR_MRBURSTUP0x4000
> @@ -822,6 +823,13 @@ static int ti12xx_override(struct yenta_socket *socket)
>   printk(KERN_INFO "Yenta: Enabling burst memory read 
> transactions\n");
>   val |= TI122X_SCR_MRBURSTUP;
>   }
> +
> +#ifdef CONFIG_YENTA_TI_P2CCLK
> + if ( !(val & TI122X_SCR_P2CCLK)) {
> + printk(KERN_INFO "Yenta: Clock generated by internal 
> oscillator\n");
> + val |= TI122X_SCR_P2CCLK;
> + }
> +#endif
>   if (val_orig != val)
>   config_writel(socket, TI113X_SYSTEM_CONTROL, val);

It would be much better if we cold do this without the config option: just
detect the appropriate device and make it work.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] pcmcia: Add support P2CCLK bit enabler for TI PC1520

2007-12-25 Thread Andrew Morton
On Tue, 18 Dec 2007 18:57:24 +0900 Nobuhiro Iwamatsu [EMAIL PROTECTED] wrote:

 There is a device that doesn't work when P2CCLK's bit of TI PC1520 was 
 disable.
 This patch supports P2CCLK bit enabler for TI PC1520.
 
 ...

  config YENTA_TOSHIBA
   default y
   bool Special initialization for Toshiba ToPIC bridges if EMBEDDED
 diff --git a/drivers/pcmcia/ti113x.h b/drivers/pcmcia/ti113x.h
 index d29657b..ea749e8 100644
 --- a/drivers/pcmcia/ti113x.h
 +++ b/drivers/pcmcia/ti113x.h
 @@ -59,6 +59,7 @@
  #define  TI122X_SCR_SER_STEP 0xc000
  #define  TI122X_SCR_INTRTIE  0x2000
  #define  TIXX21_SCR_TIEALL   0x1000
 +#define  TI122X_SCR_P2CCLK   0x0800
  #define  TI122X_SCR_CBRSVD   0x0040
  #define  TI122X_SCR_MRBURSTDN0x8000
  #define  TI122X_SCR_MRBURSTUP0x4000
 @@ -822,6 +823,13 @@ static int ti12xx_override(struct yenta_socket *socket)
   printk(KERN_INFO Yenta: Enabling burst memory read 
 transactions\n);
   val |= TI122X_SCR_MRBURSTUP;
   }
 +
 +#ifdef CONFIG_YENTA_TI_P2CCLK
 + if ( !(val  TI122X_SCR_P2CCLK)) {
 + printk(KERN_INFO Yenta: Clock generated by internal 
 oscillator\n);
 + val |= TI122X_SCR_P2CCLK;
 + }
 +#endif
   if (val_orig != val)
   config_writel(socket, TI113X_SYSTEM_CONTROL, val);

It would be much better if we cold do this without the config option: just
detect the appropriate device and make it work.

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] pcmcia: Add support P2CCLK bit enabler for TI PC1520

2007-12-18 Thread Nobuhiro Iwamatsu
There is a device that doesn't work when P2CCLK's bit of TI PC1520 was disable.
This patch supports P2CCLK bit enabler for TI PC1520.

Signed-off-by: Nobuhiro Iwamatsu <[EMAIL PROTECTED]>
---
 drivers/pcmcia/Kconfig  |5 +
 drivers/pcmcia/ti113x.h |8 
 2 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
index 519b4ff..3d80888 100644
--- a/drivers/pcmcia/Kconfig
+++ b/drivers/pcmcia/Kconfig
@@ -134,6 +134,11 @@ config YENTA_ENE_TUNE
bool "Auto-tune EnE bridges for CB cards" if EMBEDDED
depends on YENTA_TI && CARDBUS
 
+config YENTA_TI_P2CCLK
+   default n
+   bool "Clock generated by internal oscillator" if EMBEDDED
+   depends on YENTA_TI && CARDBUS
+
 config YENTA_TOSHIBA
default y
bool "Special initialization for Toshiba ToPIC bridges" if EMBEDDED
diff --git a/drivers/pcmcia/ti113x.h b/drivers/pcmcia/ti113x.h
index d29657b..ea749e8 100644
--- a/drivers/pcmcia/ti113x.h
+++ b/drivers/pcmcia/ti113x.h
@@ -59,6 +59,7 @@
 #define  TI122X_SCR_SER_STEP   0xc000
 #define  TI122X_SCR_INTRTIE0x2000
 #define  TIXX21_SCR_TIEALL 0x1000
+#define  TI122X_SCR_P2CCLK 0x0800
 #define  TI122X_SCR_CBRSVD 0x0040
 #define  TI122X_SCR_MRBURSTDN  0x8000
 #define  TI122X_SCR_MRBURSTUP  0x4000
@@ -822,6 +823,13 @@ static int ti12xx_override(struct yenta_socket *socket)
printk(KERN_INFO "Yenta: Enabling burst memory read 
transactions\n");
val |= TI122X_SCR_MRBURSTUP;
}
+
+#ifdef CONFIG_YENTA_TI_P2CCLK
+   if ( !(val & TI122X_SCR_P2CCLK)) {
+   printk(KERN_INFO "Yenta: Clock generated by internal 
oscillator\n");
+   val |= TI122X_SCR_P2CCLK;
+   }
+#endif
if (val_orig != val)
config_writel(socket, TI113X_SYSTEM_CONTROL, val);
 
-- 
1.5.3.6
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] pcmcia: Add support P2CCLK bit enabler for TI PC1520

2007-12-18 Thread Nobuhiro Iwamatsu
There is a device that doesn't work when P2CCLK's bit of TI PC1520 was disable.
This patch supports P2CCLK bit enabler for TI PC1520.

Signed-off-by: Nobuhiro Iwamatsu [EMAIL PROTECTED]
---
 drivers/pcmcia/Kconfig  |5 +
 drivers/pcmcia/ti113x.h |8 
 2 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
index 519b4ff..3d80888 100644
--- a/drivers/pcmcia/Kconfig
+++ b/drivers/pcmcia/Kconfig
@@ -134,6 +134,11 @@ config YENTA_ENE_TUNE
bool Auto-tune EnE bridges for CB cards if EMBEDDED
depends on YENTA_TI  CARDBUS
 
+config YENTA_TI_P2CCLK
+   default n
+   bool Clock generated by internal oscillator if EMBEDDED
+   depends on YENTA_TI  CARDBUS
+
 config YENTA_TOSHIBA
default y
bool Special initialization for Toshiba ToPIC bridges if EMBEDDED
diff --git a/drivers/pcmcia/ti113x.h b/drivers/pcmcia/ti113x.h
index d29657b..ea749e8 100644
--- a/drivers/pcmcia/ti113x.h
+++ b/drivers/pcmcia/ti113x.h
@@ -59,6 +59,7 @@
 #define  TI122X_SCR_SER_STEP   0xc000
 #define  TI122X_SCR_INTRTIE0x2000
 #define  TIXX21_SCR_TIEALL 0x1000
+#define  TI122X_SCR_P2CCLK 0x0800
 #define  TI122X_SCR_CBRSVD 0x0040
 #define  TI122X_SCR_MRBURSTDN  0x8000
 #define  TI122X_SCR_MRBURSTUP  0x4000
@@ -822,6 +823,13 @@ static int ti12xx_override(struct yenta_socket *socket)
printk(KERN_INFO Yenta: Enabling burst memory read 
transactions\n);
val |= TI122X_SCR_MRBURSTUP;
}
+
+#ifdef CONFIG_YENTA_TI_P2CCLK
+   if ( !(val  TI122X_SCR_P2CCLK)) {
+   printk(KERN_INFO Yenta: Clock generated by internal 
oscillator\n);
+   val |= TI122X_SCR_P2CCLK;
+   }
+#endif
if (val_orig != val)
config_writel(socket, TI113X_SYSTEM_CONTROL, val);
 
-- 
1.5.3.6
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/