From: Matthew Garrett on
On Fri, May 07, 2010 at 02:21:08PM -0700, Linus Torvalds wrote:
> On Fri, 7 May 2010, Matthew Garrett wrote:
>
> > On Fri, May 07, 2010 at 02:06:53PM -0700, Linus Torvalds wrote:
> > > On Fri, 7 May 2010, Matthew Garrett wrote:
> > > >
> > > > The spec says we can't. I've posted a patch to do so if it's still not
> > > > set after we've tried doing it the right way, but I'm not keen on
> > > > pushing it into a release at this point.
> > >
> > > I'm ok with the "release at this point".
> >
> > http://git.kernel.org/?p=linux/kernel/git/lenb/linux-acpi-2.6.git;a=commit;h=3b12303e6bda6e05579d899fb71cb3e9d3bc26ba
>
> Well, is there any reason to have 'set_sci_en_on_resume' at all then?

I'd hope not, but it depends on what Windows does on resume. If it
doesn't do the SMM call and just does the register write instead, then
it may be that some machines are on that list because the SMM call
breaks them rather than because they need the register to be set by
hand. I'm planning on instrumenting it to check, but haven't had time to
do so yet.

--
Matthew Garrett | mjg59(a)srcf.ucam.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Rafael J. Wysocki on
On Friday 07 May 2010, Linus Torvalds wrote:
>
> On Thu, 6 May 2010, Len Brown wrote:
> >
> > The big DMI list in sleep.c a temporary brute force and low-risk workaround.
> > We will endeavor to delete it entirely in 2.6.35 with a clean fix
> > that was deemed too risky for this late in the .34 release cycle.
>
> Btw, why don't we just force the SCI_EN by hand?

Because there are boxes that are broken right away by this.

I have one on my desk in front of me. :-)

Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Linus Torvalds on


On Sat, 8 May 2010, Rafael J. Wysocki wrote:

> On Friday 07 May 2010, Linus Torvalds wrote:
> >
> > Btw, why don't we just force the SCI_EN by hand?
>
> Because there are boxes that are broken right away by this.
>
> I have one on my desk in front of me. :-)

Also if we check whether it was already set before?

The thing is, if that bit is clear (_after_ we've done the regular ACPI
setup), the box can't work correctly as far as I know.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Rafael J. Wysocki on
On Saturday 08 May 2010, Linus Torvalds wrote:
>
> On Sat, 8 May 2010, Rafael J. Wysocki wrote:
>
> > On Friday 07 May 2010, Linus Torvalds wrote:
> > >
> > > Btw, why don't we just force the SCI_EN by hand?
> >
> > Because there are boxes that are broken right away by this.
> >
> > I have one on my desk in front of me. :-)
>
> Also if we check whether it was already set before?

Yes.

> The thing is, if that bit is clear (_after_ we've done the regular ACPI
> setup), the box can't work correctly as far as I know.

That's correct. But on that particular box acpi_enable() is necessary to
make things work. Setting SCI_EN by hand makes it hang solid.

Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Linus Torvalds on


On Sat, 8 May 2010, Rafael J. Wysocki wrote:

> On Saturday 08 May 2010, Linus Torvalds wrote:
> >
> > On Sat, 8 May 2010, Rafael J. Wysocki wrote:
> >
> > > On Friday 07 May 2010, Linus Torvalds wrote:
> > > >
> > > > Btw, why don't we just force the SCI_EN by hand?
> > >
> > > Because there are boxes that are broken right away by this.
> > >
> > > I have one on my desk in front of me. :-)
> >
> > Also if we check whether it was already set before?
>
> Yes.

I don't think you understood the question.

If we check whether it was already set before, we wouldn't _do_ it by
hand.

> > The thing is, if that bit is clear (_after_ we've done the regular ACPI
> > setup), the box can't work correctly as far as I know.
>
> That's correct. But on that particular box acpi_enable() is necessary to
> make things work. Setting SCI_EN by hand makes it hang solid.

Let me explain what I think we should do with actual code:

acpi_enable();
if (test_if_that_f_cking_bit_still_isnt_set)
set_it_by_hand();

wouldn't that work on your box? The acpi_enable() seems to work for you,
so it wouldn't actually ever set it by hand.

But the problem is that on a number of boxes, acpi_enable() apparently
doesn't do what it should do. Because the stupid BIOS "knows" it is
already in ACPI mode, but it forgot to actually set the bit!

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