Kristoffer Ericson | 1 Sep 01:10 2007
Picon

Proper place to enable IRQ0->IRQ3 in IRQ_MODE?

Greetings,

I placed it inside setup.c after all the usual inits but this only caused the jornada to freeze at bootup. Im
guessing it needs to be done before.

Any suggestion where?

IRQ0->IRQ3 are needed for Touchscreen, APM among other things.

--

-- 
Kristoffer Ericson <Kristoffer.Ericson <at> Gmail.com>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
Mike Frysinger | 1 Sep 05:02 2007
Picon

Re: [PATCH] Patch pvr2 driver to allow development of maple bus driver

On Friday 31 August 2007, Adrian McMenamin wrote:
> On 31/08/2007, Mike Frysinger <vapier.adi <at> gmail.com> wrote:
> > On 8/31/07, Adrian McMenamin <lkmladrian <at> gmail.com> wrote:
> > > This patch makes the PVR2 VBLANK interrupt on the SEGA Dreamcast
> > > shareable - a small but necessary change to enable ongoing efforts to
> > > develop a driver for the maple bus on the Dreamcast. (Maple is Sega's
> > > proprietary serial interface for the Dreamcast and can be set to
> > > synchronise dma transfers to the VBLANK).
> > >
> > > This has no impact on the performance of the PVR2.
> >
> > sharable implies the interrupt handler checks to see if it actually
> > caused the interrupt ... which it doesnt at the moment ... presumably,
> > you're making it shared because another device will be using that
> > interrupt as well ... so when that other device gets an interrupt, how
> > do you know it's for that device and not PVR2 ?
>
> If the interrupt occurs then it will be for both of them. The hardware
> cannot be removed and the maple bus driver is set for hardware sync.
>
> The question seems redundant to me.

i really dont know how the maple bus works or what piece of hardware is wired 
up to the same interrupt line.  my point is that if the other device fires an 
interrupt, the pvr interrupt handler may be executed and attempt to do work 
when in reality the pvr was not the source of the interrupt.
-mike
-------------------------------------------------------------------------
(Continue reading)

Adrian McMenamin | 1 Sep 11:35 2007

Re: [PATCH] Patch pvr2 driver to allow development of maple bus driver

On Fri, 2007-08-31 at 23:02 -0400, Mike Frysinger wrote:

> i really dont know how the maple bus works or what piece of hardware is wired 
> up to the same interrupt line.  my point is that if the other device fires an 
> interrupt, the pvr interrupt handler may be executed and attempt to do work 
> when in reality the pvr was not the source of the interrupt.
> -mike

The interrupt is *always* fired by the PVR - it is the VBLANK - ie
essentially screen refresh. It is *never* generated by the maple bus.

However, the maple bus is/can be hardware synced - which means once that
setting is made then the hardware will *always* be polled on the VBLANK.

In other words there is no need to check which device is interrupt is
for, because it is *always* going to be for both of them.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
shinkoi2005 | 1 Sep 13:41 2007
Picon

rts7751r2d cf_ide rework

Hi all.

I have a problem about rts7751r2d.
I think that rts7751r2d's cf_ide resister mapped area is Area5.
And Area5's access size is 16bit width
(see manual
http://tree.celinuxforum.org/CelfPubWiki/RTS7751R2DHandlingManual?action=AttachFile&do=get&target=R2DHWmanual.pdf
p.27).
But libata-core.c uses ioread8()/iowrite8() that access size is 8bit width.

So we need to change access size.

------
diff --git a/arch/sh/boards/renesas/rts7751r2d/setup.c b/arch/sh/boards/renesas/rts7751r2d/setup.c
index e62107d..d9fbdc2 100644
--- a/arch/sh/boards/renesas/rts7751r2d/setup.c
+++ b/arch/sh/boards/renesas/rts7751r2d/setup.c
 <at>  <at>  -45,12 +45,12  <at>  <at>  static void __init voyagergx_serial_init(void)
 static struct resource cf_ide_resources[] = {
 	[0] = {
 		.start	= PA_AREA5_IO + 0x1000,
-		.end	= PA_AREA5_IO + 0x1000 + 0x08 - 1,
+		.end	= PA_AREA5_IO + 0x1000 + 0x10 - 0x2,
 		.flags	= IORESOURCE_MEM,
 	},
 	[1] = {
 		.start	= PA_AREA5_IO + 0x80c,
-		.end	= PA_AREA5_IO + 0x80c + 0x16 - 1,
+		.end	= PA_AREA5_IO + 0x80c,
 		.flags	= IORESOURCE_MEM,
(Continue reading)

Adrian McMenamin | 4 Sep 01:38 2007

SH4 P1/P2 cache/no cache etc - what difference might they make

I am continuing to work on the maple bus driver for the Dreamcast - the
issues are fundamentally about stability.

The old driver took a 1024 byte statically allocated block and applied
P2SEGADDR to it.

I am now using the slab allocator and I was getting a lot of "unaligned
fix up" errors, though when I removed that, and just used the allocated
P1 address the code appears, empirically and on first blush, to be more
stable.

Is that likely? Any reason - bad toolchain? - or am I likely to just not
to have tested the cases enough?

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
Kristoffer Ericson | 5 Sep 08:19 2007
Picon

IRQ_DESC questions

Greetings,

Trying to wrap my head around the pcmcia driver, Im getting this error when inserting card:

unexpected IRQ trap at vector 4f
irq 79, desc:8c2c5a1c, depth: 1
->handle_irq(): 8c031080, handle_bad_irq+0x0/0x2d0
->chip(): 8c2f1140, 0x8c2f1140
->action(): 00000000
IRQ_DISABLED_SET

As paul before pointed out this is probably due to bad IRQ handler. Thats what Im wondering about :
IRQ 36 is used by HD64461, it registers a demux that handles 64->80, HD64461_SS is set at 78 and uses a demux to
handle additional sockets (only one needed), that gets 79.

It uses irq_desc[79].chip = &hd64461_ss_irq_type; to aquire the handler for that interrupt.
Now here's my question.

The interrupt 79 is initially set to use hd64461_demux handler but is later replaced by hd64461_ss
handler. I assume this is possible without any issues, or should I lower the hd64461 to only control up to 78?

I've set the mach_vector for hp6xx to use 64 + 16 + 6 IRQ's just to be on the safe side. And I also need one
additional for the keyboard polling interrupt.

Hope you understand my question, abit dizy atm :)

Best wishes
Kristoffer

-------------------------------------------------------------------------
(Continue reading)

Adrian McMenamin | 5 Sep 01:22 2007
Picon

[PATCH] Add maple bus support for the SEGA Dreamcast

This patch adds support for SEGA's proprietary Maple bus. Maple is a
serial communications bus and support is required to operate Dreamcast
peripherals. A keyboard driver is also available and will be posted
separately.

Signed-off by: Adrian McMenamin <adrian <at> mcmen.demon.co.uk>

diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 54878f0..077438f 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
 <at>  <at>  -702,6 +702,17  <at>  <at>  config CF_BASE_ADDR
 	default "0xb8000000" if CF_AREA6
 	default "0xb4000000" if CF_AREA5

+config MAPLE
+	bool "Maple Bus Support"
+	depends on SH_DREAMCAST
+	help
+	  The Maple Bus is SEGA's serial communication bus for peripherals
+	  on the Dreamcast. Without this bus support you won't be able to
+	  get your Dreamcast keyboard etc to work, so most users
+	  probably want to say 'Y' here, unless you are only using the
+	  Dreamcast with a serial line terminal or a remote network
+	  connection.
+
 source "arch/sh/drivers/pci/Kconfig"

 source "drivers/pci/Kconfig"
diff --git a/drivers/sh/Makefile b/drivers/sh/Makefile
(Continue reading)

Adrian McMenamin | 5 Sep 01:27 2007
Picon

[PATCH - RESUBMiT] Minor patch to pvr2 driver required for maple bus support on SEGA Dreamcast

The maple bus driver (http://lkml.org/lkml/2007/9/4/165) uses hardware
synchronisation between the maple bus and the VBLANK to poll the maple
bus. This patch makes the interrupt shareable.

By definition the interrupt is for both devices.

Signed-off by: Adrian McMenamin <adrian <at> mcmen.demon.co.uk>

diff --git a/drivers/video/pvr2fb.c b/drivers/video/pvr2fb.c
index 7d6c298..13de07f 100644
--- a/drivers/video/pvr2fb.c
+++ b/drivers/video/pvr2fb.c
 <at>  <at>  -890,7 +890,7  <at>  <at>  static int __init pvr2fb_dc_init(void)
 	pvr2_fix.mmio_start	= 0xa05f8000;	/* registers start here */
 	pvr2_fix.mmio_len	= 0x2000;

-	if (request_irq(HW_EVENT_VSYNC, pvr2fb_interrupt, 0,
+	if (request_irq(HW_EVENT_VSYNC, pvr2fb_interrupt, IRQF_SHARED,
 	                "pvr2 VBL handler", fb_info)) {
 		return -EBUSY;
 	}

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
Adrian McMenamin | 5 Sep 01:34 2007
Picon

[PATCH] Add support for keyboard on SEGA Dreamcast

This patch will add support for the Dreamcast keyboard when used
alongside the maple bus patch (http://lkml.org/lkml/2007/9/4/165) and
the pvr2 patch.

Signed off by: Adrian McMenamin <adrian <at> mcmen.demon.co.uk>

diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig
index c97d5eb..1689f73 100644
--- a/drivers/input/keyboard/Kconfig
+++ b/drivers/input/keyboard/Kconfig
 <at>  <at>  -253,4 +253,14  <at>  <at>  config KEYBOARD_GPIO
 	  To compile this driver as a module, choose M here: the
 	  module will be called gpio-keys.

+
+config KEYBOARD_MAPLE
+	tristate "Maple bus keyboard"
+	depends on SH_DREAMCAST && MAPLE
+	help
+	  Say Y here if you have a DreamCast console running Linux and have
+	  a keyboard attached to its Maple bus.
+
+	  To compile this driver as a module, choose M here: the
+	  module will be called maple_keyb.	
 endif
diff --git a/drivers/input/keyboard/Makefile b/drivers/input/keyboard/Makefile
index 28d211b..3f775ed 100644
--- a/drivers/input/keyboard/Makefile
+++ b/drivers/input/keyboard/Makefile
 <at>  <at>  -21,4 +21,5  <at>  <at>  obj-$(CONFIG_KEYBOARD_OMAP)		+= omap-keypad.o
(Continue reading)

Dmitry Torokhov | 5 Sep 05:04 2007

Re: [PATCH] Add support for keyboard on SEGA Dreamcast

Hi Adrian,

On Tuesday 04 September 2007 19:34, Adrian McMenamin wrote:
> This patch will add support for the Dreamcast keyboard when used
> alongside the maple bus patch (http://lkml.org/lkml/2007/9/4/165) and
> the pvr2 patch.
> 
> Signed off by: Adrian McMenamin <adrian <at> mcmen.demon.co.uk>
>

Thnank you very much for your patch. Couple of comments:

> +
> +static unsigned char dc_kbd_keycode[256] = {

Const?

> +
> +static int dc_kbd_connect(struct maple_device *dev)
> +{
> +	int i, retval;
> +	unsigned long data = be32_to_cpu(dev->devinfo.function_data[0]);
> +	struct dc_kbd *kbd;
> +	if (dev->function != MAPLE_FUNC_KEYBOARD)
> +		return -EINVAL;
> +
> +	kbd = kzalloc(sizeof(struct dc_kbd), GFP_KERNEL);
> +	if (unlikely(!kbd))
> +		return -ENOMEM;
> +
(Continue reading)


Gmane