Re: Radeon xpress 200m and radeonfb kinda work

2007-03-08 Thread Chuck Ebbert
johan henriksson wrote:
> As you can see in the patch I have disabled "Dynamic Clock PM"
> since it makes my card freak out (Don't know why :(  ).
> Is there a reason why the "default_dynclk" parameter only is available
> when radeonfb is built as a module or should it be added to radeonfb_setup?

I don't have a clue how that works; I just merged your patch
into a Fedora test kernel and it worked. (And it looks a lot
nicer than vesafb.)

Our X driver guru says the patch is OK and Xpress 200M is
the same as normal Radeon for 2D so framebuffer should be OK.

So we can add this to the patch:

Tested-by: Chuck Ebbert <[EMAIL PROTECTED]>

Please repost it as a reply-to-all and add a decent description
and a signed-off-by per this document:

http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
Hi!

I have gotten the radeon xpress 200m (the version without dedicated vmem)
to work with radeonfb.
The attached patch (against linux-2.6.20.1) works for me.
Since I don't have any docs for the card I am unsure if the patch is 100% 
correct.
Can someone else with a 200m try it out?
(I have tested it by enabling  fbcon and radeonfb in the kernel  and
added "video=radeonfb" to lilo. This gave me a nice 1280x800 console :) )

/Johan Henriksson

Please CC, I'm not on the list.



diff -uprN -X linux-2.6.20.1-vanilla/Documentation/dontdiff 
linux-2.6.20.1-vanilla/drivers/video/aty/ati_ids.h 
linux-2.6.20.1/drivers/video/aty/ati_ids.h
--- linux-2.6.20.1-vanilla/drivers/video/aty/ati_ids.h  Tue Feb 20 07:34:32 2007
+++ linux-2.6.20.1/drivers/video/aty/ati_ids.h  Tue Mar  6 00:31:16 2007
@@ -209,4 +209,4 @@
 #define PCI_CHIP_R423_5D57  0x5D57
 #define PCI_CHIP_RS350_7834 0x7834
 #define PCI_CHIP_RS350_7835 0x7835
-
+#define PCI_CHIP_RS480_5955 0x5955
diff -uprN -X linux-2.6.20.1-vanilla/Documentation/dontdiff 
linux-2.6.20.1-vanilla/drivers/video/aty/radeon_base.c 
linux-2.6.20.1/drivers/video/aty/radeon_base.c
--- linux-2.6.20.1-vanilla/drivers/video/aty/radeon_base.c  Tue Feb 20 
07:34:32 2007
+++ linux-2.6.20.1/drivers/video/aty/radeon_base.c  Tue Mar  6 00:31:19 2007
@@ -100,6 +100,8 @@
{ PCI_VENDOR_ID_ATI, id, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (flags) | 
(CHIP_FAMILY_##family) }
 
 static struct pci_device_id radeonfb_pci_table[] = {
+/* Radeon Xpress 200m */
+   CHIP_DEF(PCI_CHIP_RS480_5955,   RS480,  CHIP_HAS_CRTC2 | CHIP_IS_IGP | 
CHIP_IS_MOBILITY),
/* Mobility M6 */
CHIP_DEF(PCI_CHIP_RADEON_LY,RV100,  CHIP_HAS_CRTC2 | 
CHIP_IS_MOBILITY),
CHIP_DEF(PCI_CHIP_RADEON_LZ,RV100,  CHIP_HAS_CRTC2 | 
CHIP_IS_MOBILITY),
@@ -1990,7 +1992,8 @@ static void radeon_identify_vram(struct 
/* framebuffer size */
 if ((rinfo->family == CHIP_FAMILY_RS100) ||
 (rinfo->family == CHIP_FAMILY_RS200) ||
-(rinfo->family == CHIP_FAMILY_RS300)) {
+(rinfo->family == CHIP_FAMILY_RS300) ||
+   (rinfo->family == CHIP_FAMILY_RS480) ) {
   u32 tom = INREG(NB_TOM);
   tmp = tom >> 16) - (tom & 0x) + 1) << 6) * 1024);
@@ -2329,7 +2332,7 @@ static int __devinit radeonfb_pci_regist
/* -2 is special: means  ON on mobility chips and do not
 * change on others
 */
-   radeonfb_pm_init(rinfo, rinfo->is_mobility ? 1 : -1, 
ignore_devlist, force_sleep);
+   radeonfb_pm_init(rinfo, -1,ignore_devlist, 
force_sleep);//rinfo->is_mobility ? 1 : -1);
} else
radeonfb_pm_init(rinfo, default_dynclk, ignore_devlist, 
force_sleep);
diff -uprN -X linux-2.6.20.1-vanilla/Documentation/dontdiff 
linux-2.6.20.1-vanilla/drivers/video/aty/radeonfb.h 
linux-2.6.20.1/drivers/video/aty/radeonfb.h
--- linux-2.6.20.1-vanilla/drivers/video/aty/radeonfb.h Tue Feb 20 07:34:32 2007
+++ linux-2.6.20.1/drivers/video/aty/radeonfb.h Tue Mar  6 00:31:16 2007
@@ -48,6 +48,7 @@ enum radeon_family {
CHIP_FAMILY_RV350,
CHIP_FAMILY_RV380,/* RV370/RV380/M22/M24 */
CHIP_FAMILY_R420, /* R420/R423/M18 */
+   CHIP_FAMILY_RS480,
CHIP_FAMILY_LAST,
 };
 
@@ -64,7 +65,8 @@ enum radeon_family {
((rinfo)->family == CHIP_FAMILY_RV350) || \
((rinfo)->family == CHIP_FAMILY_R350)  || \
((rinfo)->family == CHIP_FAMILY_RV380) || \
-   ((rinfo)->family == CHIP_FAMILY_R420))
+   ((rinfo)->family == CHIP_FAMILY_R420)  || \
+   ((rinfo)->family == CHIP_FAMILY_RS480) )
 
 /*
  * Chip flags


Re: Radeon xpress 200m and radeonfb kinda work

2007-03-08 Thread Chuck Ebbert
johan henriksson wrote:
 As you can see in the patch I have disabled Dynamic Clock PM
 since it makes my card freak out (Don't know why :(  ).
 Is there a reason why the default_dynclk parameter only is available
 when radeonfb is built as a module or should it be added to radeonfb_setup?

I don't have a clue how that works; I just merged your patch
into a Fedora test kernel and it worked. (And it looks a lot
nicer than vesafb.)

Our X driver guru says the patch is OK and Xpress 200M is
the same as normal Radeon for 2D so framebuffer should be OK.

So we can add this to the patch:

Tested-by: Chuck Ebbert [EMAIL PROTECTED]

Please repost it as a reply-to-all and add a decent description
and a signed-off-by per this document:

http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
Hi!

I have gotten the radeon xpress 200m (the version without dedicated vmem)
to work with radeonfb.
The attached patch (against linux-2.6.20.1) works for me.
Since I don't have any docs for the card I am unsure if the patch is 100% 
correct.
Can someone else with a 200m try it out?
(I have tested it by enabling  fbcon and radeonfb in the kernel  and
added video=radeonfb to lilo. This gave me a nice 1280x800 console :) )

/Johan Henriksson

Please CC, I'm not on the list.



diff -uprN -X linux-2.6.20.1-vanilla/Documentation/dontdiff 
linux-2.6.20.1-vanilla/drivers/video/aty/ati_ids.h 
linux-2.6.20.1/drivers/video/aty/ati_ids.h
--- linux-2.6.20.1-vanilla/drivers/video/aty/ati_ids.h  Tue Feb 20 07:34:32 2007
+++ linux-2.6.20.1/drivers/video/aty/ati_ids.h  Tue Mar  6 00:31:16 2007
@@ -209,4 +209,4 @@
 #define PCI_CHIP_R423_5D57  0x5D57
 #define PCI_CHIP_RS350_7834 0x7834
 #define PCI_CHIP_RS350_7835 0x7835
-
+#define PCI_CHIP_RS480_5955 0x5955
diff -uprN -X linux-2.6.20.1-vanilla/Documentation/dontdiff 
linux-2.6.20.1-vanilla/drivers/video/aty/radeon_base.c 
linux-2.6.20.1/drivers/video/aty/radeon_base.c
--- linux-2.6.20.1-vanilla/drivers/video/aty/radeon_base.c  Tue Feb 20 
07:34:32 2007
+++ linux-2.6.20.1/drivers/video/aty/radeon_base.c  Tue Mar  6 00:31:19 2007
@@ -100,6 +100,8 @@
{ PCI_VENDOR_ID_ATI, id, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (flags) | 
(CHIP_FAMILY_##family) }
 
 static struct pci_device_id radeonfb_pci_table[] = {
+/* Radeon Xpress 200m */
+   CHIP_DEF(PCI_CHIP_RS480_5955,   RS480,  CHIP_HAS_CRTC2 | CHIP_IS_IGP | 
CHIP_IS_MOBILITY),
/* Mobility M6 */
CHIP_DEF(PCI_CHIP_RADEON_LY,RV100,  CHIP_HAS_CRTC2 | 
CHIP_IS_MOBILITY),
CHIP_DEF(PCI_CHIP_RADEON_LZ,RV100,  CHIP_HAS_CRTC2 | 
CHIP_IS_MOBILITY),
@@ -1990,7 +1992,8 @@ static void radeon_identify_vram(struct 
/* framebuffer size */
 if ((rinfo-family == CHIP_FAMILY_RS100) ||
 (rinfo-family == CHIP_FAMILY_RS200) ||
-(rinfo-family == CHIP_FAMILY_RS300)) {
+(rinfo-family == CHIP_FAMILY_RS300) ||
+   (rinfo-family == CHIP_FAMILY_RS480) ) {
   u32 tom = INREG(NB_TOM);
   tmp = tom  16) - (tom  0x) + 1)  6) * 1024);
@@ -2329,7 +2332,7 @@ static int __devinit radeonfb_pci_regist
/* -2 is special: means  ON on mobility chips and do not
 * change on others
 */
-   radeonfb_pm_init(rinfo, rinfo-is_mobility ? 1 : -1, 
ignore_devlist, force_sleep);
+   radeonfb_pm_init(rinfo, -1,ignore_devlist, 
force_sleep);//rinfo-is_mobility ? 1 : -1);
} else
radeonfb_pm_init(rinfo, default_dynclk, ignore_devlist, 
force_sleep);
diff -uprN -X linux-2.6.20.1-vanilla/Documentation/dontdiff 
linux-2.6.20.1-vanilla/drivers/video/aty/radeonfb.h 
linux-2.6.20.1/drivers/video/aty/radeonfb.h
--- linux-2.6.20.1-vanilla/drivers/video/aty/radeonfb.h Tue Feb 20 07:34:32 2007
+++ linux-2.6.20.1/drivers/video/aty/radeonfb.h Tue Mar  6 00:31:16 2007
@@ -48,6 +48,7 @@ enum radeon_family {
CHIP_FAMILY_RV350,
CHIP_FAMILY_RV380,/* RV370/RV380/M22/M24 */
CHIP_FAMILY_R420, /* R420/R423/M18 */
+   CHIP_FAMILY_RS480,
CHIP_FAMILY_LAST,
 };
 
@@ -64,7 +65,8 @@ enum radeon_family {
((rinfo)-family == CHIP_FAMILY_RV350) || \
((rinfo)-family == CHIP_FAMILY_R350)  || \
((rinfo)-family == CHIP_FAMILY_RV380) || \
-   ((rinfo)-family == CHIP_FAMILY_R420))
+   ((rinfo)-family == CHIP_FAMILY_R420)  || \
+   ((rinfo)-family == CHIP_FAMILY_RS480) )
 
 /*
  * Chip flags


Re: Radeon xpress 200m and radeonfb kinda work

2007-03-07 Thread johan henriksson

Nigel Cunningham wrote:

 Hi.

 On Tue, 2007-03-06 at 01:16 +0100, Johan Henriksson wrote:
> Hi!
>
> I have gotten the radeon xpress 200m (the version without dedicated
>  vmem) to work with radeonfb. The attached patch (against
> linux-2.6.20.1) works for me. Since I don't have any docs for the
> card I am unsure if the patch is 100% correct. Can someone else
> with a 200m try it out? (I have tested it by enabling  fbcon and
> radeonfb in the kernel  and added "video=radeonfb" to lilo. This
> gave me a nice 1280x800 console :) )
>
> /Johan Henriksson
>
> Please CC, I'm not on the list.
>
> @@ -2329,7 +2332,7 @@ static int __devinit radeonfb_pci_regist /*
> -2 is special: means  ON on mobility chips and do not * change on
> others */ -radeonfb_pm_init(rinfo, rinfo->is_mobility ? 1 : -1,
> ignore_devlist, force_sleep); +radeonfb_pm_init(rinfo,
> -1,ignore_devlist, force_sleep);//rinfo->is_mobility ? 1 : -1);

 That looks like it might break !200M. Maybe something line
 rinfo->is_mobility && !rinfo->rs480 (with additional modifications to
 define an rs480, of course) - or a more generic name indicating why
 the rs480 is different?

 Regards,

 Nigel



I know, I am sorry. We could use family as in:

rinfo->is_mobility && rinfo->family != CHIP_FAMILY_RS480

Another solution is to add "default_dynclk" to radeonfb_setup
so that everybody with a rs480 can disable it.

I don't have the register specification for the 200m (RS480) so I don't
know why enabling "dynamic clock pm" doesn't work.

/Johan Henriksson


-
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: Radeon xpress 200m and radeonfb kinda work

2007-03-07 Thread Nigel Cunningham
Hi.

On Tue, 2007-03-06 at 01:16 +0100, Johan Henriksson wrote:
> Hi!
> 
> I have gotten the radeon xpress 200m (the version without dedicated
> vmem)
>  to work with radeonfb.
> The attached patch (against linux-2.6.20.1) works for me.
> Since I don't have any docs for the card I am unsure if the patch is 
> 100% correct.
> Can someone else with a 200m try it out?
> (I have tested it by enabling  fbcon and radeonfb in the kernel  and
>  added "video=radeonfb" to lilo. This gave me a nice 1280x800
> console :) )
> 
> /Johan Henriksson
> 
> Please CC, I'm not on the list.
> 
> @@ -2329,7 +2332,7 @@ static int __devinit radeonfb_pci_regist
>   /* -2 is special: means  ON on mobility chips and do not
>* change on others
>*/
> - radeonfb_pm_init(rinfo, rinfo->is_mobility ? 1 : -1, 
> ignore_devlist, force_sleep);
> + radeonfb_pm_init(rinfo, -1,ignore_devlist, 
> force_sleep);//rinfo->is_mobility ? 1 : -1);

That looks like it might break !200M. Maybe something line
rinfo->is_mobility && !rinfo->rs480 (with additional modifications to
define an rs480, of course) - or a more generic name indicating why the
rs480 is different?

Regards,

Nigel

-
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: Radeon xpress 200m and radeonfb kinda work

2007-03-07 Thread johan henriksson

Chuck Ebbert wrote:

 Johan Henriksson wrote:

> Hi!
>
> I have gotten the radeon xpress 200m (the version without dedicated
> vmem) to work with radeonfb. The attached patch (against
> linux-2.6.20.1) works for me. Since I don't have any docs for the
> card I am unsure if the patch is 100% correct. Can someone else
> with a 200m try it out? (I have tested it by enabling fbcon and
> radeonfb in the kernel and added "video=radeonfb" to lilo. This
> gave me a nice 1280x800 console :) )
>

 Works for me as a module on Compaq V2000 notebook. 160x48 is a bit
 small, but looks very clear and crisp.

 Is there anything else needed to get this merged?



As you can see in the patch I have disabled "Dynamic Clock PM"
since it makes my card freak out (Don't know why :(  ).
Is there a reason why the "default_dynclk" parameter only is available
when radeonfb is built as a module or should it be added to radeonfb_setup?

/Johan Henriksson


-
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: Radeon xpress 200m and radeonfb kinda work

2007-03-07 Thread Chuck Ebbert
Johan Henriksson wrote:
> Hi!
> 
> I have gotten the radeon xpress 200m (the version without dedicated vmem)
> to work with radeonfb.
> The attached patch (against linux-2.6.20.1) works for me.
> Since I don't have any docs for the card I am unsure if the patch is
> 100% correct.
> Can someone else with a 200m try it out?
> (I have tested it by enabling  fbcon and radeonfb in the kernel  and
> added "video=radeonfb" to lilo. This gave me a nice 1280x800 console :) )
> 

Works for me as a module on Compaq V2000 notebook.
160x48 is a bit small, but looks very clear and crisp.

Is there anything else needed to get this merged?


-
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: Radeon xpress 200m and radeonfb kinda work

2007-03-07 Thread Chuck Ebbert
Johan Henriksson wrote:
 Hi!
 
 I have gotten the radeon xpress 200m (the version without dedicated vmem)
 to work with radeonfb.
 The attached patch (against linux-2.6.20.1) works for me.
 Since I don't have any docs for the card I am unsure if the patch is
 100% correct.
 Can someone else with a 200m try it out?
 (I have tested it by enabling  fbcon and radeonfb in the kernel  and
 added video=radeonfb to lilo. This gave me a nice 1280x800 console :) )
 

Works for me as a module on Compaq V2000 notebook.
160x48 is a bit small, but looks very clear and crisp.

Is there anything else needed to get this merged?


-
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: Radeon xpress 200m and radeonfb kinda work

2007-03-07 Thread johan henriksson

Chuck Ebbert wrote:

 Johan Henriksson wrote:

 Hi!

 I have gotten the radeon xpress 200m (the version without dedicated
 vmem) to work with radeonfb. The attached patch (against
 linux-2.6.20.1) works for me. Since I don't have any docs for the
 card I am unsure if the patch is 100% correct. Can someone else
 with a 200m try it out? (I have tested it by enabling fbcon and
 radeonfb in the kernel and added video=radeonfb to lilo. This
 gave me a nice 1280x800 console :) )


 Works for me as a module on Compaq V2000 notebook. 160x48 is a bit
 small, but looks very clear and crisp.

 Is there anything else needed to get this merged?



As you can see in the patch I have disabled Dynamic Clock PM
since it makes my card freak out (Don't know why :(  ).
Is there a reason why the default_dynclk parameter only is available
when radeonfb is built as a module or should it be added to radeonfb_setup?

/Johan Henriksson


-
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: Radeon xpress 200m and radeonfb kinda work

2007-03-07 Thread Nigel Cunningham
Hi.

On Tue, 2007-03-06 at 01:16 +0100, Johan Henriksson wrote:
 Hi!
 
 I have gotten the radeon xpress 200m (the version without dedicated
 vmem)
  to work with radeonfb.
 The attached patch (against linux-2.6.20.1) works for me.
 Since I don't have any docs for the card I am unsure if the patch is 
 100% correct.
 Can someone else with a 200m try it out?
 (I have tested it by enabling  fbcon and radeonfb in the kernel  and
  added video=radeonfb to lilo. This gave me a nice 1280x800
 console :) )
 
 /Johan Henriksson
 
 Please CC, I'm not on the list.
 
 @@ -2329,7 +2332,7 @@ static int __devinit radeonfb_pci_regist
   /* -2 is special: means  ON on mobility chips and do not
* change on others
*/
 - radeonfb_pm_init(rinfo, rinfo-is_mobility ? 1 : -1, 
 ignore_devlist, force_sleep);
 + radeonfb_pm_init(rinfo, -1,ignore_devlist, 
 force_sleep);//rinfo-is_mobility ? 1 : -1);

That looks like it might break !200M. Maybe something line
rinfo-is_mobility  !rinfo-rs480 (with additional modifications to
define an rs480, of course) - or a more generic name indicating why the
rs480 is different?

Regards,

Nigel

-
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: Radeon xpress 200m and radeonfb kinda work

2007-03-07 Thread johan henriksson

Nigel Cunningham wrote:

 Hi.

 On Tue, 2007-03-06 at 01:16 +0100, Johan Henriksson wrote:
 Hi!

 I have gotten the radeon xpress 200m (the version without dedicated
  vmem) to work with radeonfb. The attached patch (against
 linux-2.6.20.1) works for me. Since I don't have any docs for the
 card I am unsure if the patch is 100% correct. Can someone else
 with a 200m try it out? (I have tested it by enabling  fbcon and
 radeonfb in the kernel  and added video=radeonfb to lilo. This
 gave me a nice 1280x800 console :) )

 /Johan Henriksson

 Please CC, I'm not on the list.

 @@ -2329,7 +2332,7 @@ static int __devinit radeonfb_pci_regist /*
 -2 is special: means  ON on mobility chips and do not * change on
 others */ -radeonfb_pm_init(rinfo, rinfo-is_mobility ? 1 : -1,
 ignore_devlist, force_sleep); +radeonfb_pm_init(rinfo,
 -1,ignore_devlist, force_sleep);//rinfo-is_mobility ? 1 : -1);

 That looks like it might break !200M. Maybe something line
 rinfo-is_mobility  !rinfo-rs480 (with additional modifications to
 define an rs480, of course) - or a more generic name indicating why
 the rs480 is different?

 Regards,

 Nigel



I know, I am sorry. We could use family as in:

rinfo-is_mobility  rinfo-family != CHIP_FAMILY_RS480

Another solution is to add default_dynclk to radeonfb_setup
so that everybody with a rs480 can disable it.

I don't have the register specification for the 200m (RS480) so I don't
know why enabling dynamic clock pm doesn't work.

/Johan Henriksson


-
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/


Radeon xpress 200m and radeonfb kinda work

2007-03-05 Thread Johan Henriksson

Hi!

I have gotten the radeon xpress 200m (the version without dedicated vmem)
to work with radeonfb.
The attached patch (against linux-2.6.20.1) works for me.
Since I don't have any docs for the card I am unsure if the patch is 
100% correct.

Can someone else with a 200m try it out?
(I have tested it by enabling  fbcon and radeonfb in the kernel  and
added "video=radeonfb" to lilo. This gave me a nice 1280x800 console :) )

/Johan Henriksson

Please CC, I'm not on the list.

diff -uprN -X linux-2.6.20.1-vanilla/Documentation/dontdiff 
linux-2.6.20.1-vanilla/drivers/video/aty/ati_ids.h 
linux-2.6.20.1/drivers/video/aty/ati_ids.h
--- linux-2.6.20.1-vanilla/drivers/video/aty/ati_ids.h  Tue Feb 20 07:34:32 2007
+++ linux-2.6.20.1/drivers/video/aty/ati_ids.h  Tue Mar  6 00:31:16 2007
@@ -209,4 +209,4 @@
 #define PCI_CHIP_R423_5D57  0x5D57
 #define PCI_CHIP_RS350_7834 0x7834
 #define PCI_CHIP_RS350_7835 0x7835
-
+#define PCI_CHIP_RS480_5955 0x5955
diff -uprN -X linux-2.6.20.1-vanilla/Documentation/dontdiff 
linux-2.6.20.1-vanilla/drivers/video/aty/radeon_base.c 
linux-2.6.20.1/drivers/video/aty/radeon_base.c
--- linux-2.6.20.1-vanilla/drivers/video/aty/radeon_base.c  Tue Feb 20 
07:34:32 2007
+++ linux-2.6.20.1/drivers/video/aty/radeon_base.c  Tue Mar  6 00:31:19 2007
@@ -100,6 +100,8 @@
{ PCI_VENDOR_ID_ATI, id, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (flags) | 
(CHIP_FAMILY_##family) }
 
 static struct pci_device_id radeonfb_pci_table[] = {
+/* Radeon Xpress 200m */
+   CHIP_DEF(PCI_CHIP_RS480_5955,   RS480,  CHIP_HAS_CRTC2 | CHIP_IS_IGP | 
CHIP_IS_MOBILITY),
/* Mobility M6 */
CHIP_DEF(PCI_CHIP_RADEON_LY,RV100,  CHIP_HAS_CRTC2 | 
CHIP_IS_MOBILITY),
CHIP_DEF(PCI_CHIP_RADEON_LZ,RV100,  CHIP_HAS_CRTC2 | 
CHIP_IS_MOBILITY),
@@ -1990,7 +1992,8 @@ static void radeon_identify_vram(struct 
/* framebuffer size */
 if ((rinfo->family == CHIP_FAMILY_RS100) ||
 (rinfo->family == CHIP_FAMILY_RS200) ||
-(rinfo->family == CHIP_FAMILY_RS300)) {
+(rinfo->family == CHIP_FAMILY_RS300) ||
+   (rinfo->family == CHIP_FAMILY_RS480) ) {
   u32 tom = INREG(NB_TOM);
   tmp = tom >> 16) - (tom & 0x) + 1) << 6) * 1024);
@@ -2329,7 +2332,7 @@ static int __devinit radeonfb_pci_regist
/* -2 is special: means  ON on mobility chips and do not
 * change on others
 */
-   radeonfb_pm_init(rinfo, rinfo->is_mobility ? 1 : -1, 
ignore_devlist, force_sleep);
+   radeonfb_pm_init(rinfo, -1,ignore_devlist, 
force_sleep);//rinfo->is_mobility ? 1 : -1);
} else
radeonfb_pm_init(rinfo, default_dynclk, ignore_devlist, 
force_sleep);
diff -uprN -X linux-2.6.20.1-vanilla/Documentation/dontdiff 
linux-2.6.20.1-vanilla/drivers/video/aty/radeonfb.h 
linux-2.6.20.1/drivers/video/aty/radeonfb.h
--- linux-2.6.20.1-vanilla/drivers/video/aty/radeonfb.h Tue Feb 20 07:34:32 2007
+++ linux-2.6.20.1/drivers/video/aty/radeonfb.h Tue Mar  6 00:31:16 2007
@@ -48,6 +48,7 @@ enum radeon_family {
CHIP_FAMILY_RV350,
CHIP_FAMILY_RV380,/* RV370/RV380/M22/M24 */
CHIP_FAMILY_R420, /* R420/R423/M18 */
+   CHIP_FAMILY_RS480,
CHIP_FAMILY_LAST,
 };
 
@@ -64,7 +65,8 @@ enum radeon_family {
((rinfo)->family == CHIP_FAMILY_RV350) || \
((rinfo)->family == CHIP_FAMILY_R350)  || \
((rinfo)->family == CHIP_FAMILY_RV380) || \
-   ((rinfo)->family == CHIP_FAMILY_R420))
+   ((rinfo)->family == CHIP_FAMILY_R420)  || \
+   ((rinfo)->family == CHIP_FAMILY_RS480) )
 
 /*
  * Chip flags


Radeon xpress 200m and radeonfb kinda work

2007-03-05 Thread Johan Henriksson

Hi!

I have gotten the radeon xpress 200m (the version without dedicated vmem)
to work with radeonfb.
The attached patch (against linux-2.6.20.1) works for me.
Since I don't have any docs for the card I am unsure if the patch is 
100% correct.

Can someone else with a 200m try it out?
(I have tested it by enabling  fbcon and radeonfb in the kernel  and
added video=radeonfb to lilo. This gave me a nice 1280x800 console :) )

/Johan Henriksson

Please CC, I'm not on the list.

diff -uprN -X linux-2.6.20.1-vanilla/Documentation/dontdiff 
linux-2.6.20.1-vanilla/drivers/video/aty/ati_ids.h 
linux-2.6.20.1/drivers/video/aty/ati_ids.h
--- linux-2.6.20.1-vanilla/drivers/video/aty/ati_ids.h  Tue Feb 20 07:34:32 2007
+++ linux-2.6.20.1/drivers/video/aty/ati_ids.h  Tue Mar  6 00:31:16 2007
@@ -209,4 +209,4 @@
 #define PCI_CHIP_R423_5D57  0x5D57
 #define PCI_CHIP_RS350_7834 0x7834
 #define PCI_CHIP_RS350_7835 0x7835
-
+#define PCI_CHIP_RS480_5955 0x5955
diff -uprN -X linux-2.6.20.1-vanilla/Documentation/dontdiff 
linux-2.6.20.1-vanilla/drivers/video/aty/radeon_base.c 
linux-2.6.20.1/drivers/video/aty/radeon_base.c
--- linux-2.6.20.1-vanilla/drivers/video/aty/radeon_base.c  Tue Feb 20 
07:34:32 2007
+++ linux-2.6.20.1/drivers/video/aty/radeon_base.c  Tue Mar  6 00:31:19 2007
@@ -100,6 +100,8 @@
{ PCI_VENDOR_ID_ATI, id, PCI_ANY_ID, PCI_ANY_ID, 0, 0, (flags) | 
(CHIP_FAMILY_##family) }
 
 static struct pci_device_id radeonfb_pci_table[] = {
+/* Radeon Xpress 200m */
+   CHIP_DEF(PCI_CHIP_RS480_5955,   RS480,  CHIP_HAS_CRTC2 | CHIP_IS_IGP | 
CHIP_IS_MOBILITY),
/* Mobility M6 */
CHIP_DEF(PCI_CHIP_RADEON_LY,RV100,  CHIP_HAS_CRTC2 | 
CHIP_IS_MOBILITY),
CHIP_DEF(PCI_CHIP_RADEON_LZ,RV100,  CHIP_HAS_CRTC2 | 
CHIP_IS_MOBILITY),
@@ -1990,7 +1992,8 @@ static void radeon_identify_vram(struct 
/* framebuffer size */
 if ((rinfo-family == CHIP_FAMILY_RS100) ||
 (rinfo-family == CHIP_FAMILY_RS200) ||
-(rinfo-family == CHIP_FAMILY_RS300)) {
+(rinfo-family == CHIP_FAMILY_RS300) ||
+   (rinfo-family == CHIP_FAMILY_RS480) ) {
   u32 tom = INREG(NB_TOM);
   tmp = tom  16) - (tom  0x) + 1)  6) * 1024);
@@ -2329,7 +2332,7 @@ static int __devinit radeonfb_pci_regist
/* -2 is special: means  ON on mobility chips and do not
 * change on others
 */
-   radeonfb_pm_init(rinfo, rinfo-is_mobility ? 1 : -1, 
ignore_devlist, force_sleep);
+   radeonfb_pm_init(rinfo, -1,ignore_devlist, 
force_sleep);//rinfo-is_mobility ? 1 : -1);
} else
radeonfb_pm_init(rinfo, default_dynclk, ignore_devlist, 
force_sleep);
diff -uprN -X linux-2.6.20.1-vanilla/Documentation/dontdiff 
linux-2.6.20.1-vanilla/drivers/video/aty/radeonfb.h 
linux-2.6.20.1/drivers/video/aty/radeonfb.h
--- linux-2.6.20.1-vanilla/drivers/video/aty/radeonfb.h Tue Feb 20 07:34:32 2007
+++ linux-2.6.20.1/drivers/video/aty/radeonfb.h Tue Mar  6 00:31:16 2007
@@ -48,6 +48,7 @@ enum radeon_family {
CHIP_FAMILY_RV350,
CHIP_FAMILY_RV380,/* RV370/RV380/M22/M24 */
CHIP_FAMILY_R420, /* R420/R423/M18 */
+   CHIP_FAMILY_RS480,
CHIP_FAMILY_LAST,
 };
 
@@ -64,7 +65,8 @@ enum radeon_family {
((rinfo)-family == CHIP_FAMILY_RV350) || \
((rinfo)-family == CHIP_FAMILY_R350)  || \
((rinfo)-family == CHIP_FAMILY_RV380) || \
-   ((rinfo)-family == CHIP_FAMILY_R420))
+   ((rinfo)-family == CHIP_FAMILY_R420)  || \
+   ((rinfo)-family == CHIP_FAMILY_RS480) )
 
 /*
  * Chip flags