2008-07-28 00:02:44

by David Miller

[permalink] [raw]
Subject: mISDN still breaking the allmodconfig build...


More fallout from the premature mISDN driver merge:

drivers/isdn/hardware/mISDN/hfcmulti.c:5255:2: error: #error "not running on big endian machines now"


2008-07-28 00:14:34

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: mISDN still breaking the allmodconfig build...

On Sun, 2008-07-27 at 17:02 -0700, David Miller wrote:
> More fallout from the premature mISDN driver merge:
>
> drivers/isdn/hardware/mISDN/hfcmulti.c:5255:2: error: #error "not running on big endian machines now"

Lovely...

Ben.

2008-07-28 00:48:21

by Sean MacLennan

[permalink] [raw]
Subject: Re: mISDN still breaking the allmodconfig build...

On Mon, 28 Jul 2008 10:13:42 +1000
"Benjamin Herrenschmidt" <[email protected]> wrote:

> On Sun, 2008-07-27 at 17:02 -0700, David Miller wrote:
> > More fallout from the premature mISDN driver merge:
> >
> > drivers/isdn/hardware/mISDN/hfcmulti.c:5255:2: error: #error "not
> > running on big endian machines now"
>
> Lovely...

mISDN is notoriously bad on big endian machines.

Cheers,
Sean

2008-07-28 01:03:19

by Marcel Holtmann

[permalink] [raw]
Subject: Re: mISDN still breaking the allmodconfig build...

Hi Dave,

> More fallout from the premature mISDN driver merge:
>
> drivers/isdn/hardware/mISDN/hfcmulti.c:5255:2: error: #error "not
> running on big endian machines now"

is that only the HFC driver or the whole mISDN stack?

I know that the two old ISDN stacks where really bad on big endian,
but my assumption was that we did sort this out in the end.

Regards

Marcel

2008-07-28 01:07:44

by David Miller

[permalink] [raw]
Subject: Re: mISDN still breaking the allmodconfig build...

From: Marcel Holtmann <[email protected]>
Date: Mon, 28 Jul 2008 03:03:04 +0200

> > More fallout from the premature mISDN driver merge:
> >
> > drivers/isdn/hardware/mISDN/hfcmulti.c:5255:2: error: #error "not
> > running on big endian machines now"
>
> is that only the HFC driver or the whole mISDN stack?
>
> I know that the two old ISDN stacks where really bad on big endian,
> but my assumption was that we did sort this out in the end.

One of the two mISDN drivers uses the deprecated virt_to_bus()
interface for handling DMA addresses (that doesn't even work on many
x86 systems these days) and the other mISDN driver gives the above
big-endian compile time error.

In short, this driver was not ready for merging at all.

2008-07-28 01:13:34

by Marcel Holtmann

[permalink] [raw]
Subject: Re: mISDN still breaking the allmodconfig build...

Hi Dave,

>>> More fallout from the premature mISDN driver merge:
>>>
>>> drivers/isdn/hardware/mISDN/hfcmulti.c:5255:2: error: #error "not
>>> running on big endian machines now"
>>
>> is that only the HFC driver or the whole mISDN stack?
>>
>> I know that the two old ISDN stacks where really bad on big endian,
>> but my assumption was that we did sort this out in the end.
>
> One of the two mISDN drivers uses the deprecated virt_to_bus()
> interface for handling DMA addresses (that doesn't even work on many
> x86 systems these days) and the other mISDN driver gives the above
> big-endian compile time error.
>
> In short, this driver was not ready for merging at all.

I am not defending it and agree that this driver should have had at
least one test run in linux-next. However mISDN is a whole ISDN stack.
So does mISDN has an issue too or do we only have a really broken
driver. Karsten?

Regards

Marcel

2008-07-28 01:59:10

by Mikael Pettersson

[permalink] [raw]
Subject: Re: mISDN still breaking the allmodconfig build...

David Miller writes:
> From: Marcel Holtmann <[email protected]>
> Date: Mon, 28 Jul 2008 03:03:04 +0200
>
> > > More fallout from the premature mISDN driver merge:
> > >
> > > drivers/isdn/hardware/mISDN/hfcmulti.c:5255:2: error: #error "not
> > > running on big endian machines now"
> >
> > is that only the HFC driver or the whole mISDN stack?
> >
> > I know that the two old ISDN stacks where really bad on big endian,
> > but my assumption was that we did sort this out in the end.
>
> One of the two mISDN drivers uses the deprecated virt_to_bus()
> interface for handling DMA addresses (that doesn't even work on many
> x86 systems these days) and the other mISDN driver gives the above
> big-endian compile time error.
>
> In short, this driver was not ready for merging at all.

Why on earth does a generic (I hope) protocol driver (some ISDN
thingy in this case) care about endianess at all?

Or has things come to a "the world's an x86" ("the world's a VAX" for
old-timers but add 25+ years or so) situation where the majority of
coders don't even consider that machines might be different from what
they use? If so, a deep sigh of sadness.

(Not that I prefer a particular endianess. My point being that coders
shouldn't make endianess assumptions unless they're really^3 important.)>

2008-07-28 08:40:35

by Karsten Keil

[permalink] [raw]
Subject: Re: mISDN still breaking the allmodconfig build...

Hi Marcel,
On Mon, Jul 28, 2008 at 03:13:21AM +0200, Marcel Holtmann wrote:
> Hi Dave,
>
> >>>More fallout from the premature mISDN driver merge:
> >>>
> >>>drivers/isdn/hardware/mISDN/hfcmulti.c:5255:2: error: #error "not
> >>>running on big endian machines now"
> >>
> >>is that only the HFC driver or the whole mISDN stack?
> >>
> >>I know that the two old ISDN stacks where really bad on big endian,
> >>but my assumption was that we did sort this out in the end.
> >
> >One of the two mISDN drivers uses the deprecated virt_to_bus()
> >interface for handling DMA addresses (that doesn't even work on many
> >x86 systems these days) and the other mISDN driver gives the above
> >big-endian compile time error.
> >
> >In short, this driver was not ready for merging at all.
>
> I am not defending it and agree that this driver should have had at
> least one test run in linux-next.

Yes my fault, sorry.

> However mISDN is a whole ISDN stack.
> So does mISDN has an issue too or do we only have a really broken
> driver. Karsten?

Yes this is only a issue of the hardware layer not of the stack.

OK the driver are based on the old drivers already in HiSax and for
virt_to_bus() I never got a complain before and yes I already have some patches
to solve the endian issues in the HFC driver, but it was not finaly
confirmed, that all this work now on big endian systems and my PPC system
unfortunately died some time ago, so I did leave it as it is, but with
the wrong option, instead to mark it X86 only I let it break.

On the other side this remained me to check the big endian thing again ;-)

--
Karsten Keil
SuSE Labs
ISDN and VOIP development
SUSE LINUX Products GmbH, Maxfeldstr.5 90409 Nuernberg, GF: Markus Rex, HRB 16746 (AG Nuernberg)

2008-07-28 09:38:42

by Alan

[permalink] [raw]
Subject: Re: mISDN still breaking the allmodconfig build...

On Sun, 27 Jul 2008 20:48:05 -0400
Sean MacLennan <[email protected]> wrote:

> On Mon, 28 Jul 2008 10:13:42 +1000
> "Benjamin Herrenschmidt" <[email protected]> wrote:
>
> > On Sun, 2008-07-27 at 17:02 -0700, David Miller wrote:
> > > More fallout from the premature mISDN driver merge:
> > >
> > > drivers/isdn/hardware/mISDN/hfcmulti.c:5255:2: error: #error "not
> > > running on big endian machines now"
> >
> > Lovely...
>
> mISDN is notoriously bad on big endian machines.

In which case it really should not be in Linus tree but in linux-next.
Karsten - will you ask Linus to revert mISDN so it can go into linux-next
instead and get cleaned up in the right place ?

Alan

2008-07-28 10:26:42

by Karsten Keil

[permalink] [raw]
Subject: Re: mISDN still breaking the allmodconfig build...

On Sun, Jul 27, 2008 at 06:07:36PM -0700, David Miller wrote:
> From: Marcel Holtmann <[email protected]>
> Date: Mon, 28 Jul 2008 03:03:04 +0200
>
> > > More fallout from the premature mISDN driver merge:
> > >
> > > drivers/isdn/hardware/mISDN/hfcmulti.c:5255:2: error: #error "not
> > > running on big endian machines now"
> >
> > is that only the HFC driver or the whole mISDN stack?
> >
> > I know that the two old ISDN stacks where really bad on big endian,
> > but my assumption was that we did sort this out in the end.
>
> One of the two mISDN drivers uses the deprecated virt_to_bus()
> interface for handling DMA addresses (that doesn't even work on many
> x86 systems these days) and the other mISDN driver gives the above
> big-endian compile time error.
>

OK this was forgotten to change in a printk from the old driver, the new allocation
code should be OK it use pci_alloc_consistent().
I think it should simple use the returned dmahandle in this printk.

--
Karsten Keil
SuSE Labs
ISDN and VOIP development
SUSE LINUX Products GmbH, Maxfeldstr.5 90409 Nuernberg, GF: Markus Rex, HRB 16746 (AG Nuernberg)

2008-07-28 10:51:29

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: mISDN still breaking the allmodconfig build...

On Mon, 2008-07-28 at 03:03 +0200, Marcel Holtmann wrote:
> Hi Dave,
>
> > More fallout from the premature mISDN driver merge:
> >
> > drivers/isdn/hardware/mISDN/hfcmulti.c:5255:2: error: #error "not
> > running on big endian machines now"
>
> is that only the HFC driver or the whole mISDN stack?
>
> I know that the two old ISDN stacks where really bad on big endian,
> but my assumption was that we did sort this out in the end.

Well, I got it working well enough (the old one) on a ppc405 about 5 or
6 years ago... It did require some endian & dma mapping fixing, iirc, in
the hisax pci driver, but nothing very tricky.

What bugs me is that we -fixed- at least some of these things in the old
stack, up to the point where I could use it reliably in some commercial
products, and now we are merging a new stack which, in that area, is a
clear regression over the old code.

One basic premise to me for replacing a whole stack with a new one is
that the new one should be -at-least- as good as the old one in all
areas, and those (virt_to_bus and endianness) are pretty major.

Ben.

2008-07-28 11:15:15

by Karsten Keil

[permalink] [raw]
Subject: Re: mISDN still breaking the allmodconfig build...

On Mon, Jul 28, 2008 at 10:20:09AM +0100, Alan Cox wrote:
> On Sun, 27 Jul 2008 20:48:05 -0400
> Sean MacLennan <[email protected]> wrote:
>
> > On Mon, 28 Jul 2008 10:13:42 +1000
> > "Benjamin Herrenschmidt" <[email protected]> wrote:
> >
> > > On Sun, 2008-07-27 at 17:02 -0700, David Miller wrote:
> > > > More fallout from the premature mISDN driver merge:
> > > >
> > > > drivers/isdn/hardware/mISDN/hfcmulti.c:5255:2: error: #error "not
> > > > running on big endian machines now"
> > >
> > > Lovely...
> >
> > mISDN is notoriously bad on big endian machines.
>

This only affect the hardware IO layer of some cards and I think
it will be fixed very soon, I did not remove the very old
#error line, because I did not had the hardware to verify that it is
OK now.
I already reserved a PPC machine now (will get it today or tomorrow) and
will test the endian robustness this week.

> In which case it really should not be in Linus tree but in linux-next.
> Karsten - will you ask Linus to revert mISDN so it can go into linux-next
> instead and get cleaned up in the right place ?
>

This was my original plan and my fault, that I only included the
pull URL and sent it to Linus diectely, I did not know that in this case
Linus will pull it without further discussion, but I'm still glad that it
is in and only show few issues (I'm very unhappy that I did not find
these before, I did builds on all our architectures, but not with the
all*config, only with subsets).
The good thing is, that this brought back the ENDIAN issue back on my
radar and on my near time TODO list :-)

--
Karsten Keil
SuSE Labs
ISDN and VOIP development
SUSE LINUX Products GmbH, Maxfeldstr.5 90409 Nuernberg, GF: Markus Rex, HRB 16746 (AG Nuernberg)

2008-07-28 13:27:29

by Sinan Akman

[permalink] [raw]
Subject: Re: mISDN still breaking the allmodconfig build...

Karsten Keil wrote:
> [...]
> virt_to_bus() I never got a complain before and yes I already have some patches
> to solve the endian issues in the HFC driver, but it was not finaly

Karsten, do you have those patches available somewhere ?
I could give it a try on 4xx with a 4s card in the near future.

Thanks

Sinan Akman

2008-08-04 12:57:07

by Karsten Keil

[permalink] [raw]
Subject: Re: mISDN still breaking the allmodconfig build...

On Mon, Jul 28, 2008 at 08:49:10AM -0400, Sinan Akman wrote:
> Karsten Keil wrote:
> >[...]
> >virt_to_bus() I never got a complain before and yes I already have some
> >patches
> >to solve the endian issues in the HFC driver, but it was not finaly
>
> Karsten, do you have those patches available somewhere ?
> I could give it a try on 4xx with a 4s card in the near future.
>

Already fixed in
git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6.git

--
Karsten Keil
SuSE Labs
ISDN and VOIP development
SUSE LINUX Products GmbH, Maxfeldstr.5 90409 Nuernberg, GF: Markus Rex, HRB 16746 (AG Nuernberg)