Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-07-09 Thread Bjorn Helgaas
On Tue, Jul 9, 2013 at 3:35 AM, Chris Clayton  wrote:
> Hello again, Bjorn.
>
> On 04/01/13 18:28, Bjorn Helgaas wrote:
>
> 
>
>
 Hi Chris,

 The current Linux acpiphp driver doesn't do anything unless it finds
 devices with _EJ0 or _RMV methods, and your DSDT has neither.  But I
 think that implementation is incorrect because I'm not convinced that
 those methods are required in order to do hotplug via ACPI.  For
 example, your DSDT *does* have an _L01 method that does notifications
 to the root ports.  I suspect that hotplug events on your box generate
 an SCI that invokes that method.  Linux basically ignores the
 resulting notify events, and I suspect that hotplug works on Windows
 because it is paying attention to them.

 Can you build a kernel with CONFIG_ACPI_DEBUG=y, do the following, and
 attach all the output to the bugzilla?

 1) Boot with empty ExpressCard slot (without using "pcie_ports=native")
 2) # echo 0x00010004 > /sys/module/acpi/parameters/debug_layer
 3) # echo 0x0804 > /sys/module/acpi/parameters/debug_level
 4) # lspci -vv
 5) # setpci -s 1c.3 0x42.w
 6) # setpci -s 1c.3 0x5a.w
 7) # setpci -s 1c.3 0xd8.l
 8) Insert ExpressCard
 9) # setpci -s 1c.3 0x5a.w
 10) # dmesg

 Here's what I think we'll see:

 - Slot Implemented (bit 8 of XCAP at 0x42) set, indicating a slot is
 implemented below this root port
 - Hot Plug SCI Enable (bit 30 of MPC at 0xd8) set, indicating that the
 root port should generate an SCI whenever a hotplug event is detected
 - Presence Detect State (bit 6 of SLTSTS at 0x5a) change from 0 with
 the slot empty to 1 with the slot occupied
 - pciehp doing nothing (since _OSC didn't grant the OS permission to
 use PCIe native hotplug)
 - dmesg indication of the SCI, leading to a Bus Check notification to
 \_SB.PCI0.RP04, which is the 1c.3 root port leading to the ExpressCard
 slot

>>>
>>> As far as I can see, your predicted outcomes where correct. I've added
>>> the
>>> logs to the bugzilla report.
>>
>>
>> Yes, it behaved exactly as I expected.  I attached a few more details
>> of the analysis to the bug report
>> (https://bugzilla.kernel.org/show_bug.cgi?id=54981).  I think we need
>> to rework acpiphp to fix this.  We will fix it, but I don't know who
>> will do it, or when it will happen.  My list is growing faster than I
>> can deal with :(
>>
>
> I see that there has been quite a bit of work in the acpiphp area recently.
> Is any of it intended to fix (or ease the subsequent fixing of) this bug
> report, please?

The problem on your system is that acpiphp doesn't work correctly
because it expects a certain combination of _ADR/_EJ0/_RMV methods,
and your system doesn't quite match.  Rafael's acpiphp work is
definitely addressing that issue, but I don't know whether he's made
it far enough yet.

I doubt that work will appear in a v3.11-rc release, though.  More
likely it will appear in -next fairly soon and will first appear in
Linus' tree in v3.12-rc1.  So if you want to test it, either try out
-next or wait for v3.12-rc1.

> It's not a big deal if it isn't - I do have a system that, via kernel
> command line arguments, recognises expresscard devices when I plug them into
> the slot. But when the release comes along that includes the reworking of
> acpiphp that you mentioned, I will give extra attention to hotplugging when
> I try out the -rc kernels on my laptop.

Thanks!  We'll certainly appreciate any testing reports.

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-07-09 Thread Chris Clayton

Hello again, Bjorn.

On 04/01/13 18:28, Bjorn Helgaas wrote:




Hi Chris,

The current Linux acpiphp driver doesn't do anything unless it finds
devices with _EJ0 or _RMV methods, and your DSDT has neither.  But I
think that implementation is incorrect because I'm not convinced that
those methods are required in order to do hotplug via ACPI.  For
example, your DSDT *does* have an _L01 method that does notifications
to the root ports.  I suspect that hotplug events on your box generate
an SCI that invokes that method.  Linux basically ignores the
resulting notify events, and I suspect that hotplug works on Windows
because it is paying attention to them.

Can you build a kernel with CONFIG_ACPI_DEBUG=y, do the following, and
attach all the output to the bugzilla?

1) Boot with empty ExpressCard slot (without using "pcie_ports=native")
2) # echo 0x00010004 > /sys/module/acpi/parameters/debug_layer
3) # echo 0x0804 > /sys/module/acpi/parameters/debug_level
4) # lspci -vv
5) # setpci -s 1c.3 0x42.w
6) # setpci -s 1c.3 0x5a.w
7) # setpci -s 1c.3 0xd8.l
8) Insert ExpressCard
9) # setpci -s 1c.3 0x5a.w
10) # dmesg

Here's what I think we'll see:

- Slot Implemented (bit 8 of XCAP at 0x42) set, indicating a slot is
implemented below this root port
- Hot Plug SCI Enable (bit 30 of MPC at 0xd8) set, indicating that the
root port should generate an SCI whenever a hotplug event is detected
- Presence Detect State (bit 6 of SLTSTS at 0x5a) change from 0 with
the slot empty to 1 with the slot occupied
- pciehp doing nothing (since _OSC didn't grant the OS permission to
use PCIe native hotplug)
- dmesg indication of the SCI, leading to a Bus Check notification to
\_SB.PCI0.RP04, which is the 1c.3 root port leading to the ExpressCard
slot



As far as I can see, your predicted outcomes where correct. I've added the
logs to the bugzilla report.


Yes, it behaved exactly as I expected.  I attached a few more details
of the analysis to the bug report
(https://bugzilla.kernel.org/show_bug.cgi?id=54981).  I think we need
to rework acpiphp to fix this.  We will fix it, but I don't know who
will do it, or when it will happen.  My list is growing faster than I
can deal with :(



I see that there has been quite a bit of work in the acpiphp area 
recently. Is any of it intended to fix (or ease the subsequent fixing 
of) this bug report, please?


It's not a big deal if it isn't - I do have a system that, via kernel 
command line arguments, recognises expresscard devices when I plug them 
into the slot. But when the release comes along that includes the 
reworking of acpiphp that you mentioned, I will give extra attention to 
hotplugging when I try out the -rc kernels on my laptop.


Thanks


Thanks very much for your excellent data collection!



It's my pleasure!


Bjorn


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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-07-09 Thread Bjorn Helgaas
On Tue, Jul 9, 2013 at 3:35 AM, Chris Clayton chris2...@gmail.com wrote:
 Hello again, Bjorn.

 On 04/01/13 18:28, Bjorn Helgaas wrote:

 snip


 Hi Chris,

 The current Linux acpiphp driver doesn't do anything unless it finds
 devices with _EJ0 or _RMV methods, and your DSDT has neither.  But I
 think that implementation is incorrect because I'm not convinced that
 those methods are required in order to do hotplug via ACPI.  For
 example, your DSDT *does* have an _L01 method that does notifications
 to the root ports.  I suspect that hotplug events on your box generate
 an SCI that invokes that method.  Linux basically ignores the
 resulting notify events, and I suspect that hotplug works on Windows
 because it is paying attention to them.

 Can you build a kernel with CONFIG_ACPI_DEBUG=y, do the following, and
 attach all the output to the bugzilla?

 1) Boot with empty ExpressCard slot (without using pcie_ports=native)
 2) # echo 0x00010004  /sys/module/acpi/parameters/debug_layer
 3) # echo 0x0804  /sys/module/acpi/parameters/debug_level
 4) # lspci -vv
 5) # setpci -s 1c.3 0x42.w
 6) # setpci -s 1c.3 0x5a.w
 7) # setpci -s 1c.3 0xd8.l
 8) Insert ExpressCard
 9) # setpci -s 1c.3 0x5a.w
 10) # dmesg

 Here's what I think we'll see:

 - Slot Implemented (bit 8 of XCAP at 0x42) set, indicating a slot is
 implemented below this root port
 - Hot Plug SCI Enable (bit 30 of MPC at 0xd8) set, indicating that the
 root port should generate an SCI whenever a hotplug event is detected
 - Presence Detect State (bit 6 of SLTSTS at 0x5a) change from 0 with
 the slot empty to 1 with the slot occupied
 - pciehp doing nothing (since _OSC didn't grant the OS permission to
 use PCIe native hotplug)
 - dmesg indication of the SCI, leading to a Bus Check notification to
 \_SB.PCI0.RP04, which is the 1c.3 root port leading to the ExpressCard
 slot


 As far as I can see, your predicted outcomes where correct. I've added
 the
 logs to the bugzilla report.


 Yes, it behaved exactly as I expected.  I attached a few more details
 of the analysis to the bug report
 (https://bugzilla.kernel.org/show_bug.cgi?id=54981).  I think we need
 to rework acpiphp to fix this.  We will fix it, but I don't know who
 will do it, or when it will happen.  My list is growing faster than I
 can deal with :(


 I see that there has been quite a bit of work in the acpiphp area recently.
 Is any of it intended to fix (or ease the subsequent fixing of) this bug
 report, please?

The problem on your system is that acpiphp doesn't work correctly
because it expects a certain combination of _ADR/_EJ0/_RMV methods,
and your system doesn't quite match.  Rafael's acpiphp work is
definitely addressing that issue, but I don't know whether he's made
it far enough yet.

I doubt that work will appear in a v3.11-rc release, though.  More
likely it will appear in -next fairly soon and will first appear in
Linus' tree in v3.12-rc1.  So if you want to test it, either try out
-next or wait for v3.12-rc1.

 It's not a big deal if it isn't - I do have a system that, via kernel
 command line arguments, recognises expresscard devices when I plug them into
 the slot. But when the release comes along that includes the reworking of
 acpiphp that you mentioned, I will give extra attention to hotplugging when
 I try out the -rc kernels on my laptop.

Thanks!  We'll certainly appreciate any testing reports.

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-07-09 Thread Chris Clayton

Hello again, Bjorn.

On 04/01/13 18:28, Bjorn Helgaas wrote:

snip


Hi Chris,

The current Linux acpiphp driver doesn't do anything unless it finds
devices with _EJ0 or _RMV methods, and your DSDT has neither.  But I
think that implementation is incorrect because I'm not convinced that
those methods are required in order to do hotplug via ACPI.  For
example, your DSDT *does* have an _L01 method that does notifications
to the root ports.  I suspect that hotplug events on your box generate
an SCI that invokes that method.  Linux basically ignores the
resulting notify events, and I suspect that hotplug works on Windows
because it is paying attention to them.

Can you build a kernel with CONFIG_ACPI_DEBUG=y, do the following, and
attach all the output to the bugzilla?

1) Boot with empty ExpressCard slot (without using pcie_ports=native)
2) # echo 0x00010004  /sys/module/acpi/parameters/debug_layer
3) # echo 0x0804  /sys/module/acpi/parameters/debug_level
4) # lspci -vv
5) # setpci -s 1c.3 0x42.w
6) # setpci -s 1c.3 0x5a.w
7) # setpci -s 1c.3 0xd8.l
8) Insert ExpressCard
9) # setpci -s 1c.3 0x5a.w
10) # dmesg

Here's what I think we'll see:

- Slot Implemented (bit 8 of XCAP at 0x42) set, indicating a slot is
implemented below this root port
- Hot Plug SCI Enable (bit 30 of MPC at 0xd8) set, indicating that the
root port should generate an SCI whenever a hotplug event is detected
- Presence Detect State (bit 6 of SLTSTS at 0x5a) change from 0 with
the slot empty to 1 with the slot occupied
- pciehp doing nothing (since _OSC didn't grant the OS permission to
use PCIe native hotplug)
- dmesg indication of the SCI, leading to a Bus Check notification to
\_SB.PCI0.RP04, which is the 1c.3 root port leading to the ExpressCard
slot



As far as I can see, your predicted outcomes where correct. I've added the
logs to the bugzilla report.


Yes, it behaved exactly as I expected.  I attached a few more details
of the analysis to the bug report
(https://bugzilla.kernel.org/show_bug.cgi?id=54981).  I think we need
to rework acpiphp to fix this.  We will fix it, but I don't know who
will do it, or when it will happen.  My list is growing faster than I
can deal with :(



I see that there has been quite a bit of work in the acpiphp area 
recently. Is any of it intended to fix (or ease the subsequent fixing 
of) this bug report, please?


It's not a big deal if it isn't - I do have a system that, via kernel 
command line arguments, recognises expresscard devices when I plug them 
into the slot. But when the release comes along that includes the 
reworking of acpiphp that you mentioned, I will give extra attention to 
hotplugging when I try out the -rc kernels on my laptop.


Thanks


Thanks very much for your excellent data collection!



It's my pleasure!


Bjorn


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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-04-01 Thread Bjorn Helgaas
On Tue, Mar 19, 2013 at 9:46 AM, Chris Clayton  wrote:
> Hi Bjorn,
>
> Sorry I meant to reply to your mail so that copy recipients will know the
> outcome of the things you asked me to do. But then I forgot. Doh! You should
> have received the attachment notification from bugzilla, I think.
>
>
> On 03/15/13 22:48, Bjorn Helgaas wrote:
>>
>> On Tue, Mar 12, 2013 at 4:20 PM, Bjorn Helgaas 
>> wrote:
>>>
>>> On Sat, Mar 9, 2013 at 2:20 AM, Chris Clayton 
>>> wrote:

 On 03/08/13 22:57, Bjorn Helgaas wrote:
>>
>>
> Thanks.  I opened this bug report:
> https://bugzilla.kernel.org/show_bug.cgi?id=54981 to keep track of
> your logs.
>>
>>
>> Hi Chris,
>>
>> The current Linux acpiphp driver doesn't do anything unless it finds
>> devices with _EJ0 or _RMV methods, and your DSDT has neither.  But I
>> think that implementation is incorrect because I'm not convinced that
>> those methods are required in order to do hotplug via ACPI.  For
>> example, your DSDT *does* have an _L01 method that does notifications
>> to the root ports.  I suspect that hotplug events on your box generate
>> an SCI that invokes that method.  Linux basically ignores the
>> resulting notify events, and I suspect that hotplug works on Windows
>> because it is paying attention to them.
>>
>> Can you build a kernel with CONFIG_ACPI_DEBUG=y, do the following, and
>> attach all the output to the bugzilla?
>>
>> 1) Boot with empty ExpressCard slot (without using "pcie_ports=native")
>> 2) # echo 0x00010004 > /sys/module/acpi/parameters/debug_layer
>> 3) # echo 0x0804 > /sys/module/acpi/parameters/debug_level
>> 4) # lspci -vv
>> 5) # setpci -s 1c.3 0x42.w
>> 6) # setpci -s 1c.3 0x5a.w
>> 7) # setpci -s 1c.3 0xd8.l
>> 8) Insert ExpressCard
>> 9) # setpci -s 1c.3 0x5a.w
>> 10) # dmesg
>>
>> Here's what I think we'll see:
>>
>> - Slot Implemented (bit 8 of XCAP at 0x42) set, indicating a slot is
>> implemented below this root port
>> - Hot Plug SCI Enable (bit 30 of MPC at 0xd8) set, indicating that the
>> root port should generate an SCI whenever a hotplug event is detected
>> - Presence Detect State (bit 6 of SLTSTS at 0x5a) change from 0 with
>> the slot empty to 1 with the slot occupied
>> - pciehp doing nothing (since _OSC didn't grant the OS permission to
>> use PCIe native hotplug)
>> - dmesg indication of the SCI, leading to a Bus Check notification to
>> \_SB.PCI0.RP04, which is the 1c.3 root port leading to the ExpressCard
>> slot
>>
>
> As far as I can see, your predicted outcomes where correct. I've added the
> logs to the bugzilla report.

Yes, it behaved exactly as I expected.  I attached a few more details
of the analysis to the bug report
(https://bugzilla.kernel.org/show_bug.cgi?id=54981).  I think we need
to rework acpiphp to fix this.  We will fix it, but I don't know who
will do it, or when it will happen.  My list is growing faster than I
can deal with :(

Thanks very much for your excellent data collection!

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-04-01 Thread Bjorn Helgaas
On Tue, Mar 19, 2013 at 9:46 AM, Chris Clayton chris2...@googlemail.com wrote:
 Hi Bjorn,

 Sorry I meant to reply to your mail so that copy recipients will know the
 outcome of the things you asked me to do. But then I forgot. Doh! You should
 have received the attachment notification from bugzilla, I think.


 On 03/15/13 22:48, Bjorn Helgaas wrote:

 On Tue, Mar 12, 2013 at 4:20 PM, Bjorn Helgaas bhelg...@google.com
 wrote:

 On Sat, Mar 9, 2013 at 2:20 AM, Chris Clayton chris2...@googlemail.com
 wrote:

 On 03/08/13 22:57, Bjorn Helgaas wrote:


 Thanks.  I opened this bug report:
 https://bugzilla.kernel.org/show_bug.cgi?id=54981 to keep track of
 your logs.


 Hi Chris,

 The current Linux acpiphp driver doesn't do anything unless it finds
 devices with _EJ0 or _RMV methods, and your DSDT has neither.  But I
 think that implementation is incorrect because I'm not convinced that
 those methods are required in order to do hotplug via ACPI.  For
 example, your DSDT *does* have an _L01 method that does notifications
 to the root ports.  I suspect that hotplug events on your box generate
 an SCI that invokes that method.  Linux basically ignores the
 resulting notify events, and I suspect that hotplug works on Windows
 because it is paying attention to them.

 Can you build a kernel with CONFIG_ACPI_DEBUG=y, do the following, and
 attach all the output to the bugzilla?

 1) Boot with empty ExpressCard slot (without using pcie_ports=native)
 2) # echo 0x00010004  /sys/module/acpi/parameters/debug_layer
 3) # echo 0x0804  /sys/module/acpi/parameters/debug_level
 4) # lspci -vv
 5) # setpci -s 1c.3 0x42.w
 6) # setpci -s 1c.3 0x5a.w
 7) # setpci -s 1c.3 0xd8.l
 8) Insert ExpressCard
 9) # setpci -s 1c.3 0x5a.w
 10) # dmesg

 Here's what I think we'll see:

 - Slot Implemented (bit 8 of XCAP at 0x42) set, indicating a slot is
 implemented below this root port
 - Hot Plug SCI Enable (bit 30 of MPC at 0xd8) set, indicating that the
 root port should generate an SCI whenever a hotplug event is detected
 - Presence Detect State (bit 6 of SLTSTS at 0x5a) change from 0 with
 the slot empty to 1 with the slot occupied
 - pciehp doing nothing (since _OSC didn't grant the OS permission to
 use PCIe native hotplug)
 - dmesg indication of the SCI, leading to a Bus Check notification to
 \_SB.PCI0.RP04, which is the 1c.3 root port leading to the ExpressCard
 slot


 As far as I can see, your predicted outcomes where correct. I've added the
 logs to the bugzilla report.

Yes, it behaved exactly as I expected.  I attached a few more details
of the analysis to the bug report
(https://bugzilla.kernel.org/show_bug.cgi?id=54981).  I think we need
to rework acpiphp to fix this.  We will fix it, but I don't know who
will do it, or when it will happen.  My list is growing faster than I
can deal with :(

Thanks very much for your excellent data collection!

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-03-19 Thread Chris Clayton

Hi Bjorn,

Sorry I meant to reply to your mail so that copy recipients will know 
the outcome of the things you asked me to do. But then I forgot. Doh! 
You should have received the attachment notification from bugzilla, I think.


On 03/15/13 22:48, Bjorn Helgaas wrote:

On Tue, Mar 12, 2013 at 4:20 PM, Bjorn Helgaas  wrote:

On Sat, Mar 9, 2013 at 2:20 AM, Chris Clayton  wrote:

On 03/08/13 22:57, Bjorn Helgaas wrote:



Thanks.  I opened this bug report:
https://bugzilla.kernel.org/show_bug.cgi?id=54981 to keep track of
your logs.


Hi Chris,

The current Linux acpiphp driver doesn't do anything unless it finds
devices with _EJ0 or _RMV methods, and your DSDT has neither.  But I
think that implementation is incorrect because I'm not convinced that
those methods are required in order to do hotplug via ACPI.  For
example, your DSDT *does* have an _L01 method that does notifications
to the root ports.  I suspect that hotplug events on your box generate
an SCI that invokes that method.  Linux basically ignores the
resulting notify events, and I suspect that hotplug works on Windows
because it is paying attention to them.

Can you build a kernel with CONFIG_ACPI_DEBUG=y, do the following, and
attach all the output to the bugzilla?

1) Boot with empty ExpressCard slot (without using "pcie_ports=native")
2) # echo 0x00010004 > /sys/module/acpi/parameters/debug_layer
3) # echo 0x0804 > /sys/module/acpi/parameters/debug_level
4) # lspci -vv
5) # setpci -s 1c.3 0x42.w
6) # setpci -s 1c.3 0x5a.w
7) # setpci -s 1c.3 0xd8.l
8) Insert ExpressCard
9) # setpci -s 1c.3 0x5a.w
10) # dmesg

Here's what I think we'll see:

- Slot Implemented (bit 8 of XCAP at 0x42) set, indicating a slot is
implemented below this root port
- Hot Plug SCI Enable (bit 30 of MPC at 0xd8) set, indicating that the
root port should generate an SCI whenever a hotplug event is detected
- Presence Detect State (bit 6 of SLTSTS at 0x5a) change from 0 with
the slot empty to 1 with the slot occupied
- pciehp doing nothing (since _OSC didn't grant the OS permission to
use PCIe native hotplug)
- dmesg indication of the SCI, leading to a Bus Check notification to
\_SB.PCI0.RP04, which is the 1c.3 root port leading to the ExpressCard
slot



As far as I can see, your predicted outcomes where correct. I've added 
the logs to the bugzilla report.



A Bus Check notification means we're supposed to re-enumerate starting
at that device.  If we *did* re-enumerate, we would find the new
ExpressCard.

Thanks,
   Bjorn



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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-03-19 Thread Chris Clayton

Hi Bjorn,

Sorry I meant to reply to your mail so that copy recipients will know 
the outcome of the things you asked me to do. But then I forgot. Doh! 
You should have received the attachment notification from bugzilla, I think.


On 03/15/13 22:48, Bjorn Helgaas wrote:

On Tue, Mar 12, 2013 at 4:20 PM, Bjorn Helgaas bhelg...@google.com wrote:

On Sat, Mar 9, 2013 at 2:20 AM, Chris Clayton chris2...@googlemail.com wrote:

On 03/08/13 22:57, Bjorn Helgaas wrote:



Thanks.  I opened this bug report:
https://bugzilla.kernel.org/show_bug.cgi?id=54981 to keep track of
your logs.


Hi Chris,

The current Linux acpiphp driver doesn't do anything unless it finds
devices with _EJ0 or _RMV methods, and your DSDT has neither.  But I
think that implementation is incorrect because I'm not convinced that
those methods are required in order to do hotplug via ACPI.  For
example, your DSDT *does* have an _L01 method that does notifications
to the root ports.  I suspect that hotplug events on your box generate
an SCI that invokes that method.  Linux basically ignores the
resulting notify events, and I suspect that hotplug works on Windows
because it is paying attention to them.

Can you build a kernel with CONFIG_ACPI_DEBUG=y, do the following, and
attach all the output to the bugzilla?

1) Boot with empty ExpressCard slot (without using pcie_ports=native)
2) # echo 0x00010004  /sys/module/acpi/parameters/debug_layer
3) # echo 0x0804  /sys/module/acpi/parameters/debug_level
4) # lspci -vv
5) # setpci -s 1c.3 0x42.w
6) # setpci -s 1c.3 0x5a.w
7) # setpci -s 1c.3 0xd8.l
8) Insert ExpressCard
9) # setpci -s 1c.3 0x5a.w
10) # dmesg

Here's what I think we'll see:

- Slot Implemented (bit 8 of XCAP at 0x42) set, indicating a slot is
implemented below this root port
- Hot Plug SCI Enable (bit 30 of MPC at 0xd8) set, indicating that the
root port should generate an SCI whenever a hotplug event is detected
- Presence Detect State (bit 6 of SLTSTS at 0x5a) change from 0 with
the slot empty to 1 with the slot occupied
- pciehp doing nothing (since _OSC didn't grant the OS permission to
use PCIe native hotplug)
- dmesg indication of the SCI, leading to a Bus Check notification to
\_SB.PCI0.RP04, which is the 1c.3 root port leading to the ExpressCard
slot



As far as I can see, your predicted outcomes where correct. I've added 
the logs to the bugzilla report.



A Bus Check notification means we're supposed to re-enumerate starting
at that device.  If we *did* re-enumerate, we would find the new
ExpressCard.

Thanks,
   Bjorn



Thanks,
Chris
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-03-15 Thread Bjorn Helgaas
On Tue, Mar 12, 2013 at 4:20 PM, Bjorn Helgaas  wrote:
> On Sat, Mar 9, 2013 at 2:20 AM, Chris Clayton  
> wrote:
>> On 03/08/13 22:57, Bjorn Helgaas wrote:

>>> Thanks.  I opened this bug report:
>>> https://bugzilla.kernel.org/show_bug.cgi?id=54981 to keep track of
>>> your logs.

Hi Chris,

The current Linux acpiphp driver doesn't do anything unless it finds
devices with _EJ0 or _RMV methods, and your DSDT has neither.  But I
think that implementation is incorrect because I'm not convinced that
those methods are required in order to do hotplug via ACPI.  For
example, your DSDT *does* have an _L01 method that does notifications
to the root ports.  I suspect that hotplug events on your box generate
an SCI that invokes that method.  Linux basically ignores the
resulting notify events, and I suspect that hotplug works on Windows
because it is paying attention to them.

Can you build a kernel with CONFIG_ACPI_DEBUG=y, do the following, and
attach all the output to the bugzilla?

1) Boot with empty ExpressCard slot (without using "pcie_ports=native")
2) # echo 0x00010004 > /sys/module/acpi/parameters/debug_layer
3) # echo 0x0804 > /sys/module/acpi/parameters/debug_level
4) # lspci -vv
5) # setpci -s 1c.3 0x42.w
6) # setpci -s 1c.3 0x5a.w
7) # setpci -s 1c.3 0xd8.l
8) Insert ExpressCard
9) # setpci -s 1c.3 0x5a.w
10) # dmesg

Here's what I think we'll see:

- Slot Implemented (bit 8 of XCAP at 0x42) set, indicating a slot is
implemented below this root port
- Hot Plug SCI Enable (bit 30 of MPC at 0xd8) set, indicating that the
root port should generate an SCI whenever a hotplug event is detected
- Presence Detect State (bit 6 of SLTSTS at 0x5a) change from 0 with
the slot empty to 1 with the slot occupied
- pciehp doing nothing (since _OSC didn't grant the OS permission to
use PCIe native hotplug)
- dmesg indication of the SCI, leading to a Bus Check notification to
\_SB.PCI0.RP04, which is the 1c.3 root port leading to the ExpressCard
slot

A Bus Check notification means we're supposed to re-enumerate starting
at that device.  If we *did* re-enumerate, we would find the new
ExpressCard.

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-03-15 Thread Bjorn Helgaas
On Tue, Mar 12, 2013 at 4:20 PM, Bjorn Helgaas bhelg...@google.com wrote:
 On Sat, Mar 9, 2013 at 2:20 AM, Chris Clayton chris2...@googlemail.com 
 wrote:
 On 03/08/13 22:57, Bjorn Helgaas wrote:

 Thanks.  I opened this bug report:
 https://bugzilla.kernel.org/show_bug.cgi?id=54981 to keep track of
 your logs.

Hi Chris,

The current Linux acpiphp driver doesn't do anything unless it finds
devices with _EJ0 or _RMV methods, and your DSDT has neither.  But I
think that implementation is incorrect because I'm not convinced that
those methods are required in order to do hotplug via ACPI.  For
example, your DSDT *does* have an _L01 method that does notifications
to the root ports.  I suspect that hotplug events on your box generate
an SCI that invokes that method.  Linux basically ignores the
resulting notify events, and I suspect that hotplug works on Windows
because it is paying attention to them.

Can you build a kernel with CONFIG_ACPI_DEBUG=y, do the following, and
attach all the output to the bugzilla?

1) Boot with empty ExpressCard slot (without using pcie_ports=native)
2) # echo 0x00010004  /sys/module/acpi/parameters/debug_layer
3) # echo 0x0804  /sys/module/acpi/parameters/debug_level
4) # lspci -vv
5) # setpci -s 1c.3 0x42.w
6) # setpci -s 1c.3 0x5a.w
7) # setpci -s 1c.3 0xd8.l
8) Insert ExpressCard
9) # setpci -s 1c.3 0x5a.w
10) # dmesg

Here's what I think we'll see:

- Slot Implemented (bit 8 of XCAP at 0x42) set, indicating a slot is
implemented below this root port
- Hot Plug SCI Enable (bit 30 of MPC at 0xd8) set, indicating that the
root port should generate an SCI whenever a hotplug event is detected
- Presence Detect State (bit 6 of SLTSTS at 0x5a) change from 0 with
the slot empty to 1 with the slot occupied
- pciehp doing nothing (since _OSC didn't grant the OS permission to
use PCIe native hotplug)
- dmesg indication of the SCI, leading to a Bus Check notification to
\_SB.PCI0.RP04, which is the 1c.3 root port leading to the ExpressCard
slot

A Bus Check notification means we're supposed to re-enumerate starting
at that device.  If we *did* re-enumerate, we would find the new
ExpressCard.

Thanks,
  Bjorn
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-03-12 Thread Bjorn Helgaas
On Sat, Mar 9, 2013 at 2:20 AM, Chris Clayton  wrote:
> Hi Bjorn,
>
>
> On 03/08/13 22:57, Bjorn Helgaas wrote:
>>
>> [+cc Rafael, in case the _OSC thing rings a bell with him]
>>
>> On Fri, Mar 8, 2013 at 3:44 AM, Chris Clayton 
>> wrote:
>>>
>>> On 03/08/13 00:39, Bjorn Helgaas wrote:

 On Thu, Mar 7, 2013 at 1:21 PM, Chris Clayton 
 wrote:
>
> On 03/07/13 17:30, Bjorn Helgaas wrote:

 It looks like something's going wrong when we evaluate _OSC.  Can you
 collect an acpidump from your machine?

>>> A bziped file containing the output from acpidump is attached.
>>
>>
>> Thanks.  I opened this bug report:
>> https://bugzilla.kernel.org/show_bug.cgi?id=54981 to keep track of
>> your logs.
>>
>
> Excellent, thanks.
>
>
>> Here's your _OSC method from the acpidump:
>>
>>  Method (_OSC, 4, Serialized) {
>>  ...
>>  If (LAnd (LEqual (Arg0, GUID), NEXP))
>>  ... # normal case
>>  Else {
>>  Or (CDW1, 0x04, CDW1)  # "unrecognized UUID" error
>>  Return (Local0)
>>  }
>>
>> It fails with "unrecognized UUID" if either (1) we supply the wrong
>> UUID or (2) "NEXP" is false.  I have no idea what NEXP is; your
>> DSDT.dsl never sets it, so maybe it's related to a BIOS setup option
>> or something?  I found a BIOS manual [1] but didn't see anything
>> likely.  I guess it might be worth you looking, or maybe trying a
>> "reset to defaults" if it's not too destructive for you.  You don't
>
>
> As the manual showed, there aren't too many user-changeable settings in the
> BIOS on this machine, so I tried a "reset to defaults". Unfortunately, it
> made no difference.

Yeah, no surprise, I guess, since it works fine in Windows with the
current BIOS settings.

I looked at the DSDTs from several other machines and quite a few of
them use similar NEXP tests.  NEXP is in the GNVS area, which is
apparently used for communication between BIOS/ACPI/SMI, and I think
it means "Native PCIe support."  The BIOS probably initializes it,
possibly based on the machine type or something.

The _OSC description (ACPI 5.0 sec 6.2.10.3) is pretty clear that if a
host bridge doesn't have an _OSC method, the OS should not use
features like PCIe native hotplug.  That's why the Linux pciehp driver
isn't doing anything here.  It's possible that Windows is using PCIe
native hotplug anyway (maybe they figure "unrecognized UUID" is
different from _OSC being completely absent), or maybe there's some
way it could be using ACPI hotplug (though I *think* that would
require some more methods that your box doesn't suppy).

My guess is the former, and maybe we can figure out a way to relax
Linux's strictness around _OSC handling.

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-03-12 Thread Bjorn Helgaas
On Sat, Mar 9, 2013 at 2:20 AM, Chris Clayton chris2...@googlemail.com wrote:
 Hi Bjorn,


 On 03/08/13 22:57, Bjorn Helgaas wrote:

 [+cc Rafael, in case the _OSC thing rings a bell with him]

 On Fri, Mar 8, 2013 at 3:44 AM, Chris Clayton chris2...@googlemail.com
 wrote:

 On 03/08/13 00:39, Bjorn Helgaas wrote:

 On Thu, Mar 7, 2013 at 1:21 PM, Chris Clayton chris2...@googlemail.com
 wrote:

 On 03/07/13 17:30, Bjorn Helgaas wrote:

 It looks like something's going wrong when we evaluate _OSC.  Can you
 collect an acpidump from your machine?

 A bziped file containing the output from acpidump is attached.


 Thanks.  I opened this bug report:
 https://bugzilla.kernel.org/show_bug.cgi?id=54981 to keep track of
 your logs.


 Excellent, thanks.


 Here's your _OSC method from the acpidump:

  Method (_OSC, 4, Serialized) {
  ...
  If (LAnd (LEqual (Arg0, GUID), NEXP))
  ... # normal case
  Else {
  Or (CDW1, 0x04, CDW1)  # unrecognized UUID error
  Return (Local0)
  }

 It fails with unrecognized UUID if either (1) we supply the wrong
 UUID or (2) NEXP is false.  I have no idea what NEXP is; your
 DSDT.dsl never sets it, so maybe it's related to a BIOS setup option
 or something?  I found a BIOS manual [1] but didn't see anything
 likely.  I guess it might be worth you looking, or maybe trying a
 reset to defaults if it's not too destructive for you.  You don't


 As the manual showed, there aren't too many user-changeable settings in the
 BIOS on this machine, so I tried a reset to defaults. Unfortunately, it
 made no difference.

Yeah, no surprise, I guess, since it works fine in Windows with the
current BIOS settings.

I looked at the DSDTs from several other machines and quite a few of
them use similar NEXP tests.  NEXP is in the GNVS area, which is
apparently used for communication between BIOS/ACPI/SMI, and I think
it means Native PCIe support.  The BIOS probably initializes it,
possibly based on the machine type or something.

The _OSC description (ACPI 5.0 sec 6.2.10.3) is pretty clear that if a
host bridge doesn't have an _OSC method, the OS should not use
features like PCIe native hotplug.  That's why the Linux pciehp driver
isn't doing anything here.  It's possible that Windows is using PCIe
native hotplug anyway (maybe they figure unrecognized UUID is
different from _OSC being completely absent), or maybe there's some
way it could be using ACPI hotplug (though I *think* that would
require some more methods that your box doesn't suppy).

My guess is the former, and maybe we can figure out a way to relax
Linux's strictness around _OSC handling.

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-03-09 Thread Chris Clayton

Hi Bjorn,

On 03/08/13 22:57, Bjorn Helgaas wrote:

[+cc Rafael, in case the _OSC thing rings a bell with him]

On Fri, Mar 8, 2013 at 3:44 AM, Chris Clayton  wrote:

On 03/08/13 00:39, Bjorn Helgaas wrote:

On Thu, Mar 7, 2013 at 1:21 PM, Chris Clayton 
wrote:

On 03/07/13 17:30, Bjorn Helgaas wrote:



3) HVR-1400 not being recognized when inserted.  This is a PCI hotplug
issue, and I *can* help with this.  I don't know what your hardware
is, but in general, pciehp should take care of this.  If it doesn't,
or if you have to use an argument like "pcie_ports=native", we should
fix this.



So 3) is the thing I might be able to help with.  If there's still a
problem here (and even having to boot with an argument is a problem),
let's start by collecting complete dmesg logs, with and without your
"pcie_ports" option.  Boot without the card installed, then insert it
and remove it.  If you can use something like v3.9-rc1 with
CONFIG_HOTPLUG_PCI_PCIE=y, that would be ideal.



OK, I've gathered these logs using a kernel built from a pull of Linus'
tree
this afternoon (v3.9-rc1-108-g9f22578). Also, the cx23885 driver is still
blacklisted to avoid unnecessary noise and the chance of an oops if the
card
springs out again when I insert it. The driver does load if it's not
blacklisted (and the pcie_ports=native option is present).

The two logs are attached. As you will see, nothing at all happens when
the
pcie_ports=native option is absent. The nf_conntrack message is normally
the
last one from a normal boot.



Perfect, thanks!

It looks like something's going wrong when we evaluate _OSC.  Can you
collect an acpidump from your machine?


A bziped file containing the output from acpidump is attached.


Thanks.  I opened this bug report:
https://bugzilla.kernel.org/show_bug.cgi?id=54981 to keep track of
your logs.



Excellent, thanks.


Here's your _OSC method from the acpidump:

 Method (_OSC, 4, Serialized) {
 ...
 If (LAnd (LEqual (Arg0, GUID), NEXP))
 ... # normal case
 Else {
 Or (CDW1, 0x04, CDW1)  # "unrecognized UUID" error
 Return (Local0)
 }

It fails with "unrecognized UUID" if either (1) we supply the wrong
UUID or (2) "NEXP" is false.  I have no idea what NEXP is; your
DSDT.dsl never sets it, so maybe it's related to a BIOS setup option
or something?  I found a BIOS manual [1] but didn't see anything
likely.  I guess it might be worth you looking, or maybe trying a
"reset to defaults" if it's not too destructive for you.  You don't


As the manual showed, there aren't too many user-changeable settings in 
the BIOS on this machine, so I tried a "reset to defaults". 
Unfortunately, it made no difference.



have a copy of Windows on that box, do you?  I *assume* hotplug would
work fine with Windows and maybe we could figure out what it is doing
differently.



Yes, I have Windows 7 Home Premium (64 bit), although, as I said 
previously, I rarely boot it. One occasion when I usually do is when I 
buy new hardware. The hotplug works fine in Windows with the two 
expresscards that I own.


I'm happy to help work out what's different on Windows, but I have no 
diagnostic tools installed, so I might need some hand-holding. One 
immediate difference is that my Windows installation is 64bit whereas my 
linux installation is 32 bit.


Thanks for your help so far,

Chris


Bjorn

[1] 
http://solutions.us.fujitsu.com/www/content/pdf/SupportGuides/AH530_BIOS_Guide_FPC58-2843-01_rA.pdf


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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-03-09 Thread Chris Clayton

Hi Bjorn,

On 03/08/13 22:57, Bjorn Helgaas wrote:

[+cc Rafael, in case the _OSC thing rings a bell with him]

On Fri, Mar 8, 2013 at 3:44 AM, Chris Clayton chris2...@googlemail.com wrote:

On 03/08/13 00:39, Bjorn Helgaas wrote:

On Thu, Mar 7, 2013 at 1:21 PM, Chris Clayton chris2...@googlemail.com
wrote:

On 03/07/13 17:30, Bjorn Helgaas wrote:



3) HVR-1400 not being recognized when inserted.  This is a PCI hotplug
issue, and I *can* help with this.  I don't know what your hardware
is, but in general, pciehp should take care of this.  If it doesn't,
or if you have to use an argument like pcie_ports=native, we should
fix this.



So 3) is the thing I might be able to help with.  If there's still a
problem here (and even having to boot with an argument is a problem),
let's start by collecting complete dmesg logs, with and without your
pcie_ports option.  Boot without the card installed, then insert it
and remove it.  If you can use something like v3.9-rc1 with
CONFIG_HOTPLUG_PCI_PCIE=y, that would be ideal.



OK, I've gathered these logs using a kernel built from a pull of Linus'
tree
this afternoon (v3.9-rc1-108-g9f22578). Also, the cx23885 driver is still
blacklisted to avoid unnecessary noise and the chance of an oops if the
card
springs out again when I insert it. The driver does load if it's not
blacklisted (and the pcie_ports=native option is present).

The two logs are attached. As you will see, nothing at all happens when
the
pcie_ports=native option is absent. The nf_conntrack message is normally
the
last one from a normal boot.



Perfect, thanks!

It looks like something's going wrong when we evaluate _OSC.  Can you
collect an acpidump from your machine?


A bziped file containing the output from acpidump is attached.


Thanks.  I opened this bug report:
https://bugzilla.kernel.org/show_bug.cgi?id=54981 to keep track of
your logs.



Excellent, thanks.


Here's your _OSC method from the acpidump:

 Method (_OSC, 4, Serialized) {
 ...
 If (LAnd (LEqual (Arg0, GUID), NEXP))
 ... # normal case
 Else {
 Or (CDW1, 0x04, CDW1)  # unrecognized UUID error
 Return (Local0)
 }

It fails with unrecognized UUID if either (1) we supply the wrong
UUID or (2) NEXP is false.  I have no idea what NEXP is; your
DSDT.dsl never sets it, so maybe it's related to a BIOS setup option
or something?  I found a BIOS manual [1] but didn't see anything
likely.  I guess it might be worth you looking, or maybe trying a
reset to defaults if it's not too destructive for you.  You don't


As the manual showed, there aren't too many user-changeable settings in 
the BIOS on this machine, so I tried a reset to defaults. 
Unfortunately, it made no difference.



have a copy of Windows on that box, do you?  I *assume* hotplug would
work fine with Windows and maybe we could figure out what it is doing
differently.



Yes, I have Windows 7 Home Premium (64 bit), although, as I said 
previously, I rarely boot it. One occasion when I usually do is when I 
buy new hardware. The hotplug works fine in Windows with the two 
expresscards that I own.


I'm happy to help work out what's different on Windows, but I have no 
diagnostic tools installed, so I might need some hand-holding. One 
immediate difference is that my Windows installation is 64bit whereas my 
linux installation is 32 bit.


Thanks for your help so far,

Chris


Bjorn

[1] 
http://solutions.us.fujitsu.com/www/content/pdf/SupportGuides/AH530_BIOS_Guide_FPC58-2843-01_rA.pdf


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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-03-08 Thread Bjorn Helgaas
[+cc Rafael, in case the _OSC thing rings a bell with him]

On Fri, Mar 8, 2013 at 3:44 AM, Chris Clayton  wrote:
> On 03/08/13 00:39, Bjorn Helgaas wrote:
>> On Thu, Mar 7, 2013 at 1:21 PM, Chris Clayton 
>> wrote:
>>> On 03/07/13 17:30, Bjorn Helgaas wrote:

 3) HVR-1400 not being recognized when inserted.  This is a PCI hotplug
 issue, and I *can* help with this.  I don't know what your hardware
 is, but in general, pciehp should take care of this.  If it doesn't,
 or if you have to use an argument like "pcie_ports=native", we should
 fix this.

 So 3) is the thing I might be able to help with.  If there's still a
 problem here (and even having to boot with an argument is a problem),
 let's start by collecting complete dmesg logs, with and without your
 "pcie_ports" option.  Boot without the card installed, then insert it
 and remove it.  If you can use something like v3.9-rc1 with
 CONFIG_HOTPLUG_PCI_PCIE=y, that would be ideal.
>>>
>>>
>>> OK, I've gathered these logs using a kernel built from a pull of Linus'
>>> tree
>>> this afternoon (v3.9-rc1-108-g9f22578). Also, the cx23885 driver is still
>>> blacklisted to avoid unnecessary noise and the chance of an oops if the
>>> card
>>> springs out again when I insert it. The driver does load if it's not
>>> blacklisted (and the pcie_ports=native option is present).
>>>
>>> The two logs are attached. As you will see, nothing at all happens when
>>> the
>>> pcie_ports=native option is absent. The nf_conntrack message is normally
>>> the
>>> last one from a normal boot.
>>
>>
>> Perfect, thanks!
>>
>> It looks like something's going wrong when we evaluate _OSC.  Can you
>> collect an acpidump from your machine?
>>
> A bziped file containing the output from acpidump is attached.

Thanks.  I opened this bug report:
https://bugzilla.kernel.org/show_bug.cgi?id=54981 to keep track of
your logs.

Here's your _OSC method from the acpidump:

Method (_OSC, 4, Serialized) {
...
If (LAnd (LEqual (Arg0, GUID), NEXP))
... # normal case
Else {
Or (CDW1, 0x04, CDW1)  # "unrecognized UUID" error
Return (Local0)
}

It fails with "unrecognized UUID" if either (1) we supply the wrong
UUID or (2) "NEXP" is false.  I have no idea what NEXP is; your
DSDT.dsl never sets it, so maybe it's related to a BIOS setup option
or something?  I found a BIOS manual [1] but didn't see anything
likely.  I guess it might be worth you looking, or maybe trying a
"reset to defaults" if it's not too destructive for you.  You don't
have a copy of Windows on that box, do you?  I *assume* hotplug would
work fine with Windows and maybe we could figure out what it is doing
differently.

Bjorn

[1] 
http://solutions.us.fujitsu.com/www/content/pdf/SupportGuides/AH530_BIOS_Guide_FPC58-2843-01_rA.pdf
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-03-08 Thread Bjorn Helgaas
[+cc Rafael, in case the _OSC thing rings a bell with him]

On Fri, Mar 8, 2013 at 3:44 AM, Chris Clayton chris2...@googlemail.com wrote:
 On 03/08/13 00:39, Bjorn Helgaas wrote:
 On Thu, Mar 7, 2013 at 1:21 PM, Chris Clayton chris2...@googlemail.com
 wrote:
 On 03/07/13 17:30, Bjorn Helgaas wrote:

 3) HVR-1400 not being recognized when inserted.  This is a PCI hotplug
 issue, and I *can* help with this.  I don't know what your hardware
 is, but in general, pciehp should take care of this.  If it doesn't,
 or if you have to use an argument like pcie_ports=native, we should
 fix this.

 So 3) is the thing I might be able to help with.  If there's still a
 problem here (and even having to boot with an argument is a problem),
 let's start by collecting complete dmesg logs, with and without your
 pcie_ports option.  Boot without the card installed, then insert it
 and remove it.  If you can use something like v3.9-rc1 with
 CONFIG_HOTPLUG_PCI_PCIE=y, that would be ideal.


 OK, I've gathered these logs using a kernel built from a pull of Linus'
 tree
 this afternoon (v3.9-rc1-108-g9f22578). Also, the cx23885 driver is still
 blacklisted to avoid unnecessary noise and the chance of an oops if the
 card
 springs out again when I insert it. The driver does load if it's not
 blacklisted (and the pcie_ports=native option is present).

 The two logs are attached. As you will see, nothing at all happens when
 the
 pcie_ports=native option is absent. The nf_conntrack message is normally
 the
 last one from a normal boot.


 Perfect, thanks!

 It looks like something's going wrong when we evaluate _OSC.  Can you
 collect an acpidump from your machine?

 A bziped file containing the output from acpidump is attached.

Thanks.  I opened this bug report:
https://bugzilla.kernel.org/show_bug.cgi?id=54981 to keep track of
your logs.

Here's your _OSC method from the acpidump:

Method (_OSC, 4, Serialized) {
...
If (LAnd (LEqual (Arg0, GUID), NEXP))
... # normal case
Else {
Or (CDW1, 0x04, CDW1)  # unrecognized UUID error
Return (Local0)
}

It fails with unrecognized UUID if either (1) we supply the wrong
UUID or (2) NEXP is false.  I have no idea what NEXP is; your
DSDT.dsl never sets it, so maybe it's related to a BIOS setup option
or something?  I found a BIOS manual [1] but didn't see anything
likely.  I guess it might be worth you looking, or maybe trying a
reset to defaults if it's not too destructive for you.  You don't
have a copy of Windows on that box, do you?  I *assume* hotplug would
work fine with Windows and maybe we could figure out what it is doing
differently.

Bjorn

[1] 
http://solutions.us.fujitsu.com/www/content/pdf/SupportGuides/AH530_BIOS_Guide_FPC58-2843-01_rA.pdf
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-03-07 Thread Bjorn Helgaas
On Thu, Mar 7, 2013 at 1:21 PM, Chris Clayton  wrote:
>
>
> On 03/07/13 17:30, Bjorn Helgaas wrote:
>>
>> On Thu, Mar 7, 2013 at 9:28 AM, Chris Clayton 
>> wrote:
>>>
>>>
>>>
>>> On 03/06/13 23:45, Bjorn Helgaas wrote:


 On Thu, Jan 31, 2013 at 5:09 AM, Chris Clayton
 
 wrote:

> My usb3 expresscard device has arrived and I get an oops with that too,
> if I
> remove it without unloading the driver first. I guess it shouldn't be a
> surprise that the driver isn't expecting the device to disappear.
>
> As I mentioned, I have some trouble with the WinTV-HVR-1400 card, which
> sometimes pops out again, if I push it into the slot too hard (but I'm
> geeting better at that with practice). So what I've done (with the usb3
> card
> too) to avoid the oopsen is blacklist the driver in
> /etc/modprobe.d/blacklist.conf and then load them when I'm sure the
> card
> is
> properly inserted. Not exactly hotplug, but at least I don't have to
> reboot
> because of an oops- and it's not something I'm doing several times an
> hour.



 Hi Chris,

 What's the current state of this?  It sounds to me like it still
 doesn't work out of the box.  Having to blacklist the driver and load
 it manually is a completely unacceptable user experience.  If you have
 to manually choose acpiphp over pciehp, that is also unacceptable.

 So if you're still limping along with hacky workarounds like this, I'd
 like to pursue this more and see if we can't figure out a better
 solution.

 Bjorn

>>> Hi Bjorn,
>>>
>>> If I unblacklist the driver, insert the HVR-1400 card and then remove it,
>>> I
>>> still get the oops. This is with kernel 3.8.2. I no longer get the oops
>>> with
>>> the USB3 card, but I don't know how or when that was fixed.
>>>
>>> I stopped working on it when, after finding the workaround to the oops
>>> and
>>> then spending many many hours figuring out a fix so that scandvb would
>>> find
>>> some channels, no one on the linux-media list seemed interested in the
>>> fix.
>>> On top of that, even though scanning now finds all the available
>>> channels,
>>> the quality of the TV picture and sound is very poor indeed. I didn't
>>> want
>>> to bang my head against the linux-media wall again, so I abandoned the
>>> card
>>> and now use a USB TV stick, which gives is much better results than the
>>> card. It's a pity because the card also supports an analog signal which
>>> means I can watch the RF output from my satellite box, which I have piped
>>> around the house. Anyway, the linux-media folks are not your problem and
>>> if
>>> I want to watch satellite TV on my laptop, I can make one of my rare
>>> visits
>>> to Windows (where the picture and sound are good).
>>>
>>> Having said (ranted?) all that, I would be more than happy to help fix
>>> the
>>> oops. After I first reported it, I realised that I didn't have a hotplug
>>> driver loaded. With help from Yijing Wang, we eventually managed to get
>>> the
>>> card recognised and drivers loaded when it is inserted. That doesn't help
>>> with the oops, though. I now have the pciehp driver compiled statically
>>> onto
>>> the kernel (and pass pcie_ports=native to the kernel), but removing the
>>> card
>>> with the cx23885 driver loaded always results in an oops. I originally
>>> reported this to the linux-media list because functions from the cx23885
>>> driver are at the top of the call trace, but only Martin responded with
>>> some
>>> hotplug-related suggestions, which is what swung discussion the way of
>>> the
>>> linux-pci list.
>>
>>
>> OK.  There are several potential problems here.
>>
>> 1) The change to make scandvb find some channels.  This is probably a
>> cx23885 or linux-media issue, and I can't help with that.
>>
>> 2) TV picture/sound quality problem.  Again, probably a cx23885 driver
>> issue, and I can't help with that.
>>
>
> I'm not going to use the card and I don't have the time (or patience) to
> submit the change again.
>
>
>> 3) HVR-1400 not being recognized when inserted.  This is a PCI hotplug
>> issue, and I *can* help with this.  I don't know what your hardware
>> is, but in general, pciehp should take care of this.  If it doesn't,
>> or if you have to use an argument like "pcie_ports=native", we should
>> fix this.
>>
>> 4) Oops when removing HVR-1400 ExpressCard.  From the backtrace, I
>> assume the cx23885 driver is still bound to the device when you remove
>> the card.  It'd be nice if the driver could handle the device going
>> away, but I'm not surprised that it doesn't.
>
> Nor am I, but it's hardly plug and play, is it. With Windows I can plug and
> unplug the card at will without crashing the system.

I agree 100%, that sucks, and we should be able to do better.  I
opened https://bugzilla.kernel.org/show_bug.cgi?id=54961 for this
issue.  Hopefully a cx88 driver person will take a look.

>> 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-03-07 Thread Bjorn Helgaas
On Thu, Mar 7, 2013 at 9:28 AM, Chris Clayton  wrote:
>
>
> On 03/06/13 23:45, Bjorn Helgaas wrote:
>>
>> On Thu, Jan 31, 2013 at 5:09 AM, Chris Clayton 
>> wrote:
>>
>>> My usb3 expresscard device has arrived and I get an oops with that too,
>>> if I
>>> remove it without unloading the driver first. I guess it shouldn't be a
>>> surprise that the driver isn't expecting the device to disappear.
>>>
>>> As I mentioned, I have some trouble with the WinTV-HVR-1400 card, which
>>> sometimes pops out again, if I push it into the slot too hard (but I'm
>>> geeting better at that with practice). So what I've done (with the usb3
>>> card
>>> too) to avoid the oopsen is blacklist the driver in
>>> /etc/modprobe.d/blacklist.conf and then load them when I'm sure the card
>>> is
>>> properly inserted. Not exactly hotplug, but at least I don't have to
>>> reboot
>>> because of an oops- and it's not something I'm doing several times an
>>> hour.
>>
>>
>> Hi Chris,
>>
>> What's the current state of this?  It sounds to me like it still
>> doesn't work out of the box.  Having to blacklist the driver and load
>> it manually is a completely unacceptable user experience.  If you have
>> to manually choose acpiphp over pciehp, that is also unacceptable.
>>
>> So if you're still limping along with hacky workarounds like this, I'd
>> like to pursue this more and see if we can't figure out a better
>> solution.
>>
>> Bjorn
>>
> Hi Bjorn,
>
> If I unblacklist the driver, insert the HVR-1400 card and then remove it, I
> still get the oops. This is with kernel 3.8.2. I no longer get the oops with
> the USB3 card, but I don't know how or when that was fixed.
>
> I stopped working on it when, after finding the workaround to the oops and
> then spending many many hours figuring out a fix so that scandvb would find
> some channels, no one on the linux-media list seemed interested in the fix.
> On top of that, even though scanning now finds all the available channels,
> the quality of the TV picture and sound is very poor indeed. I didn't want
> to bang my head against the linux-media wall again, so I abandoned the card
> and now use a USB TV stick, which gives is much better results than the
> card. It's a pity because the card also supports an analog signal which
> means I can watch the RF output from my satellite box, which I have piped
> around the house. Anyway, the linux-media folks are not your problem and if
> I want to watch satellite TV on my laptop, I can make one of my rare visits
> to Windows (where the picture and sound are good).
>
> Having said (ranted?) all that, I would be more than happy to help fix the
> oops. After I first reported it, I realised that I didn't have a hotplug
> driver loaded. With help from Yijing Wang, we eventually managed to get the
> card recognised and drivers loaded when it is inserted. That doesn't help
> with the oops, though. I now have the pciehp driver compiled statically onto
> the kernel (and pass pcie_ports=native to the kernel), but removing the card
> with the cx23885 driver loaded always results in an oops. I originally
> reported this to the linux-media list because functions from the cx23885
> driver are at the top of the call trace, but only Martin responded with some
> hotplug-related suggestions, which is what swung discussion the way of the
> linux-pci list.

OK.  There are several potential problems here.

1) The change to make scandvb find some channels.  This is probably a
cx23885 or linux-media issue, and I can't help with that.

2) TV picture/sound quality problem.  Again, probably a cx23885 driver
issue, and I can't help with that.

3) HVR-1400 not being recognized when inserted.  This is a PCI hotplug
issue, and I *can* help with this.  I don't know what your hardware
is, but in general, pciehp should take care of this.  If it doesn't,
or if you have to use an argument like "pcie_ports=native", we should
fix this.

4) Oops when removing HVR-1400 ExpressCard.  From the backtrace, I
assume the cx23885 driver is still bound to the device when you remove
the card.  It'd be nice if the driver could handle the device going
away, but I'm not surprised that it doesn't.

If you unbind the driver before removing the card, the oops should not
happen.  You should be able to do this manually with something like
this (with the address of your device, of course):

# echo :05:00.0 > /sys/bus/pci/drivers/cx23885/unbind

It would also be nice if there were a good user interface for doing
this, e.g., something like "Safely remove hardware" on Windows.  But I
don't know what it is on Linux.

So 3) is the thing I might be able to help with.  If there's still a
problem here (and even having to boot with an argument is a problem),
let's start by collecting complete dmesg logs, with and without your
"pcie_ports" option.  Boot without the card installed, then insert it
and remove it.  If you can use something like v3.9-rc1 with
CONFIG_HOTPLUG_PCI_PCIE=y, that would be ideal.

Bjorn
--
To 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-03-07 Thread Bjorn Helgaas
On Thu, Mar 7, 2013 at 9:28 AM, Chris Clayton chris2...@googlemail.com wrote:


 On 03/06/13 23:45, Bjorn Helgaas wrote:

 On Thu, Jan 31, 2013 at 5:09 AM, Chris Clayton chris2...@googlemail.com
 wrote:

 My usb3 expresscard device has arrived and I get an oops with that too,
 if I
 remove it without unloading the driver first. I guess it shouldn't be a
 surprise that the driver isn't expecting the device to disappear.

 As I mentioned, I have some trouble with the WinTV-HVR-1400 card, which
 sometimes pops out again, if I push it into the slot too hard (but I'm
 geeting better at that with practice). So what I've done (with the usb3
 card
 too) to avoid the oopsen is blacklist the driver in
 /etc/modprobe.d/blacklist.conf and then load them when I'm sure the card
 is
 properly inserted. Not exactly hotplug, but at least I don't have to
 reboot
 because of an oops- and it's not something I'm doing several times an
 hour.


 Hi Chris,

 What's the current state of this?  It sounds to me like it still
 doesn't work out of the box.  Having to blacklist the driver and load
 it manually is a completely unacceptable user experience.  If you have
 to manually choose acpiphp over pciehp, that is also unacceptable.

 So if you're still limping along with hacky workarounds like this, I'd
 like to pursue this more and see if we can't figure out a better
 solution.

 Bjorn

 Hi Bjorn,

 If I unblacklist the driver, insert the HVR-1400 card and then remove it, I
 still get the oops. This is with kernel 3.8.2. I no longer get the oops with
 the USB3 card, but I don't know how or when that was fixed.

 I stopped working on it when, after finding the workaround to the oops and
 then spending many many hours figuring out a fix so that scandvb would find
 some channels, no one on the linux-media list seemed interested in the fix.
 On top of that, even though scanning now finds all the available channels,
 the quality of the TV picture and sound is very poor indeed. I didn't want
 to bang my head against the linux-media wall again, so I abandoned the card
 and now use a USB TV stick, which gives is much better results than the
 card. It's a pity because the card also supports an analog signal which
 means I can watch the RF output from my satellite box, which I have piped
 around the house. Anyway, the linux-media folks are not your problem and if
 I want to watch satellite TV on my laptop, I can make one of my rare visits
 to Windows (where the picture and sound are good).

 Having said (ranted?) all that, I would be more than happy to help fix the
 oops. After I first reported it, I realised that I didn't have a hotplug
 driver loaded. With help from Yijing Wang, we eventually managed to get the
 card recognised and drivers loaded when it is inserted. That doesn't help
 with the oops, though. I now have the pciehp driver compiled statically onto
 the kernel (and pass pcie_ports=native to the kernel), but removing the card
 with the cx23885 driver loaded always results in an oops. I originally
 reported this to the linux-media list because functions from the cx23885
 driver are at the top of the call trace, but only Martin responded with some
 hotplug-related suggestions, which is what swung discussion the way of the
 linux-pci list.

OK.  There are several potential problems here.

1) The change to make scandvb find some channels.  This is probably a
cx23885 or linux-media issue, and I can't help with that.

2) TV picture/sound quality problem.  Again, probably a cx23885 driver
issue, and I can't help with that.

3) HVR-1400 not being recognized when inserted.  This is a PCI hotplug
issue, and I *can* help with this.  I don't know what your hardware
is, but in general, pciehp should take care of this.  If it doesn't,
or if you have to use an argument like pcie_ports=native, we should
fix this.

4) Oops when removing HVR-1400 ExpressCard.  From the backtrace, I
assume the cx23885 driver is still bound to the device when you remove
the card.  It'd be nice if the driver could handle the device going
away, but I'm not surprised that it doesn't.

If you unbind the driver before removing the card, the oops should not
happen.  You should be able to do this manually with something like
this (with the address of your device, of course):

# echo :05:00.0  /sys/bus/pci/drivers/cx23885/unbind

It would also be nice if there were a good user interface for doing
this, e.g., something like Safely remove hardware on Windows.  But I
don't know what it is on Linux.

So 3) is the thing I might be able to help with.  If there's still a
problem here (and even having to boot with an argument is a problem),
let's start by collecting complete dmesg logs, with and without your
pcie_ports option.  Boot without the card installed, then insert it
and remove it.  If you can use something like v3.9-rc1 with
CONFIG_HOTPLUG_PCI_PCIE=y, that would be ideal.

Bjorn
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-03-07 Thread Bjorn Helgaas
On Thu, Mar 7, 2013 at 1:21 PM, Chris Clayton chris2...@googlemail.com wrote:


 On 03/07/13 17:30, Bjorn Helgaas wrote:

 On Thu, Mar 7, 2013 at 9:28 AM, Chris Clayton chris2...@googlemail.com
 wrote:



 On 03/06/13 23:45, Bjorn Helgaas wrote:


 On Thu, Jan 31, 2013 at 5:09 AM, Chris Clayton
 chris2...@googlemail.com
 wrote:

 My usb3 expresscard device has arrived and I get an oops with that too,
 if I
 remove it without unloading the driver first. I guess it shouldn't be a
 surprise that the driver isn't expecting the device to disappear.

 As I mentioned, I have some trouble with the WinTV-HVR-1400 card, which
 sometimes pops out again, if I push it into the slot too hard (but I'm
 geeting better at that with practice). So what I've done (with the usb3
 card
 too) to avoid the oopsen is blacklist the driver in
 /etc/modprobe.d/blacklist.conf and then load them when I'm sure the
 card
 is
 properly inserted. Not exactly hotplug, but at least I don't have to
 reboot
 because of an oops- and it's not something I'm doing several times an
 hour.



 Hi Chris,

 What's the current state of this?  It sounds to me like it still
 doesn't work out of the box.  Having to blacklist the driver and load
 it manually is a completely unacceptable user experience.  If you have
 to manually choose acpiphp over pciehp, that is also unacceptable.

 So if you're still limping along with hacky workarounds like this, I'd
 like to pursue this more and see if we can't figure out a better
 solution.

 Bjorn

 Hi Bjorn,

 If I unblacklist the driver, insert the HVR-1400 card and then remove it,
 I
 still get the oops. This is with kernel 3.8.2. I no longer get the oops
 with
 the USB3 card, but I don't know how or when that was fixed.

 I stopped working on it when, after finding the workaround to the oops
 and
 then spending many many hours figuring out a fix so that scandvb would
 find
 some channels, no one on the linux-media list seemed interested in the
 fix.
 On top of that, even though scanning now finds all the available
 channels,
 the quality of the TV picture and sound is very poor indeed. I didn't
 want
 to bang my head against the linux-media wall again, so I abandoned the
 card
 and now use a USB TV stick, which gives is much better results than the
 card. It's a pity because the card also supports an analog signal which
 means I can watch the RF output from my satellite box, which I have piped
 around the house. Anyway, the linux-media folks are not your problem and
 if
 I want to watch satellite TV on my laptop, I can make one of my rare
 visits
 to Windows (where the picture and sound are good).

 Having said (ranted?) all that, I would be more than happy to help fix
 the
 oops. After I first reported it, I realised that I didn't have a hotplug
 driver loaded. With help from Yijing Wang, we eventually managed to get
 the
 card recognised and drivers loaded when it is inserted. That doesn't help
 with the oops, though. I now have the pciehp driver compiled statically
 onto
 the kernel (and pass pcie_ports=native to the kernel), but removing the
 card
 with the cx23885 driver loaded always results in an oops. I originally
 reported this to the linux-media list because functions from the cx23885
 driver are at the top of the call trace, but only Martin responded with
 some
 hotplug-related suggestions, which is what swung discussion the way of
 the
 linux-pci list.


 OK.  There are several potential problems here.

 1) The change to make scandvb find some channels.  This is probably a
 cx23885 or linux-media issue, and I can't help with that.

 2) TV picture/sound quality problem.  Again, probably a cx23885 driver
 issue, and I can't help with that.


 I'm not going to use the card and I don't have the time (or patience) to
 submit the change again.


 3) HVR-1400 not being recognized when inserted.  This is a PCI hotplug
 issue, and I *can* help with this.  I don't know what your hardware
 is, but in general, pciehp should take care of this.  If it doesn't,
 or if you have to use an argument like pcie_ports=native, we should
 fix this.

 4) Oops when removing HVR-1400 ExpressCard.  From the backtrace, I
 assume the cx23885 driver is still bound to the device when you remove
 the card.  It'd be nice if the driver could handle the device going
 away, but I'm not surprised that it doesn't.

 Nor am I, but it's hardly plug and play, is it. With Windows I can plug and
 unplug the card at will without crashing the system.

I agree 100%, that sucks, and we should be able to do better.  I
opened https://bugzilla.kernel.org/show_bug.cgi?id=54961 for this
issue.  Hopefully a cx88 driver person will take a look.

 So 3) is the thing I might be able to help with.  If there's still a
 problem here (and even having to boot with an argument is a problem),
 let's start by collecting complete dmesg logs, with and without your
 pcie_ports option.  Boot without the card installed, then insert it
 and remove it.  If you can use 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-03-06 Thread Bjorn Helgaas
On Thu, Jan 31, 2013 at 5:09 AM, Chris Clayton  wrote:

> My usb3 expresscard device has arrived and I get an oops with that too, if I
> remove it without unloading the driver first. I guess it shouldn't be a
> surprise that the driver isn't expecting the device to disappear.
>
> As I mentioned, I have some trouble with the WinTV-HVR-1400 card, which
> sometimes pops out again, if I push it into the slot too hard (but I'm
> geeting better at that with practice). So what I've done (with the usb3 card
> too) to avoid the oopsen is blacklist the driver in
> /etc/modprobe.d/blacklist.conf and then load them when I'm sure the card is
> properly inserted. Not exactly hotplug, but at least I don't have to reboot
> because of an oops- and it's not something I'm doing several times an hour.

Hi Chris,

What's the current state of this?  It sounds to me like it still
doesn't work out of the box.  Having to blacklist the driver and load
it manually is a completely unacceptable user experience.  If you have
to manually choose acpiphp over pciehp, that is also unacceptable.

So if you're still limping along with hacky workarounds like this, I'd
like to pursue this more and see if we can't figure out a better
solution.

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-03-06 Thread Bjorn Helgaas
On Thu, Jan 31, 2013 at 5:09 AM, Chris Clayton chris2...@googlemail.com wrote:

 My usb3 expresscard device has arrived and I get an oops with that too, if I
 remove it without unloading the driver first. I guess it shouldn't be a
 surprise that the driver isn't expecting the device to disappear.

 As I mentioned, I have some trouble with the WinTV-HVR-1400 card, which
 sometimes pops out again, if I push it into the slot too hard (but I'm
 geeting better at that with practice). So what I've done (with the usb3 card
 too) to avoid the oopsen is blacklist the driver in
 /etc/modprobe.d/blacklist.conf and then load them when I'm sure the card is
 properly inserted. Not exactly hotplug, but at least I don't have to reboot
 because of an oops- and it's not something I'm doing several times an hour.

Hi Chris,

What's the current state of this?  It sounds to me like it still
doesn't work out of the box.  Having to blacklist the driver and load
it manually is a completely unacceptable user experience.  If you have
to manually choose acpiphp over pciehp, that is also unacceptable.

So if you're still limping along with hacky workarounds like this, I'd
like to pursue this more and see if we can't figure out a better
solution.

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-31 Thread Martin Mokrejs
Hi Chris,

Chris Clayton wrote:
> Hi Martin,
> 
> On 01/28/13 21:02, Martin Mokrejs wrote:
>> Hi Chris,
>>
>> Chris Clayton wrote:
>>> Hi Martin,
>>>
>>> On 01/28/13 12:12, Martin Mokrejs wrote:
 Chris Clayton wrote:

>>>
>>> I've struggled with this a little. For some reason, the expresscard
>>> doesn't always stay properly inserted in the slot when I insert it.
>>> Now that hotplug is working, the modules are being loaded and when
>>> the card pops out again, I get an oops because, of course, the driver
>>> is running and the card disappears. Perhaps the driver can be made a
>>> bit more robust to sudden disappearance of the card. I'll report the
>>
>> Yes, I had or maybe still have same issues here. I used to get an Oops
>> for sata_sil24 card weird behavior for USB3.0 NEC-based card. It was
>> fine always for a VIA-based firewire card and serial PL2303-based one.
>> I found out it is better if a usb device is connected to the USB card
>> because if that slips out then the libata layer quickly realizes that.
>> If there was no device connected, the usb waits too long before it removes
>> the usb hub from the system. And if you plugin the card meanwhile
>> back into the slot, weird thing happen.
>>
> My usb3 expresscard device has arrived and I get an oops with that
> too, if I remove it without unloading the driver first. I guess it
> shouldn't be a surprise that the driver isn't expecting the device to
> disappear.

I avoided the oopses when a USB device to connected to the express card.
Nevertheless, you should report it to linux-usb and linux-pci mailing lists,
along with the oops stacktrace (under a new thread). Maybe you suffer from
another Oops.

> 
> As I mentioned, I have some trouble with the WinTV-HVR-1400 card,
> which sometimes pops out again, if I push it into the slot too hard
> (but I'm geeting better at that with practice). So what I've done
> (with the usb3 card too) to avoid the oopsen is blacklist the driver
> in /etc/modprobe.d/blacklist.conf and then load them when I'm sure
> the card is properly inserted. Not exactly hotplug, but at least I
> don't have to reboot because of an oops- and it's not something I'm
> doing several times an hour.

Yeah, i also my way around - not fiddle much with the cards and if they
slip out during insertion, don't re-plug them too quickly (at least with
the USB3 card and SATA card I had problems).

BTW, if you remove a card, you are supposed to push the card into the slot
so it gets ejected. Do not just pull it out (what I did in the beginnings).
I was told that is not the right way (probably affects the PresDet status).

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-31 Thread Chris Clayton

Hi Martin,

On 01/28/13 21:02, Martin Mokrejs wrote:

Hi Chris,

Chris Clayton wrote:

Hi Martin,

On 01/28/13 12:12, Martin Mokrejs wrote:

Chris Clayton wrote:


[snip]


[chris:~]$ cat /proc/cmdline
root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6

   ^^
**typo**
I've run the test again with pcie_ports=native and the directories now get 
populated. Even better though, is that when I plug in the card, hotplug 
**works** and the card's drivers are loaded.


BTW, I have with acpiphp on 3.7.4:

ls -la /sys/bus/pci_express/devices
total 0
drwxr-xr-x 2 root root 0 Jan 28 13:07 .
drwxr-xr-x 4 root root 0 Jan 28 13:07 ..
$ ls -la /sys/bus/pci/devices/slots


 **typo**
It should be /sys/bus/pci/slots.


ls: cannot access /sys/bus/pci/devices/slots: No such file or directory
$


With acpiphp, I get /sys/bus/pci_express/devices populated but 
/sys/bus/pci/slots is empty.


OK, I haven't realized the typo, but I have here with acpiphp:

# ls -laR /sys/bus/pci/slots
/sys/bus/pci/slots:
total 0
drwxr-xr-x 3 root root 0 Jan 27 17:14 .
drwxr-xr-x 5 root root 0 Jan 25 15:56 ..
drwxr-xr-x 2 root root 0 Jan 27 17:14 1

/sys/bus/pci/slots/1:
total 0
drwxr-xr-x 2 root root0 Jan 27 17:14 .
drwxr-xr-x 3 root root0 Jan 27 17:14 ..
-r--r--r-- 1 root root 4096 Jan 28 21:31 adapter
-r--r--r-- 1 root root 4096 Jan 27 17:14 address
-rw-r--r-- 1 root root 4096 Jan 28 21:31 attention
-r--r--r-- 1 root root 4096 Jan 28 21:31 cur_bus_speed
-r--r--r-- 1 root root 4096 Jan 28 21:31 latch
-r--r--r-- 1 root root 4096 Jan 28 21:31 max_bus_speed
lrwxrwxrwx 1 root root0 Jan 28 21:31 module -> ../../../../module/acpiphp
-rw-r--r-- 1 root root 4096 Jan 28 21:31 power
#




And for me hotplug also works (as far as I can tell). ;-)



Excellent! Thank you so much for your help (and patience) Martin and Yijing.

Now to solving why running scandvb doesn't find any TV channels.


Would be fine if you could re-do the PresDet checks and confirm whether it is 
also broken
for you under pciehp.


I've struggled with this a little. For some reason, the expresscard
doesn't always stay properly inserted in the slot when I insert it.
Now that hotplug is working, the modules are being loaded and when
the card pops out again, I get an oops because, of course, the driver
is running and the card disappears. Perhaps the driver can be made a
bit more robust to sudden disappearance of the card. I'll report the


Yes, I had or maybe still have same issues here. I used to get an Oops
for sata_sil24 card weird behavior for USB3.0 NEC-based card. It was
fine always for a VIA-based firewire card and serial PL2303-based one.
I found out it is better if a usb device is connected to the USB card
because if that slips out then the libata layer quickly realizes that.
If there was no device connected, the usb waits too long before it removes
the usb hub from the system. And if you plugin the card meanwhile
back into the slot, weird thing happen.

My usb3 expresscard device has arrived and I get an oops with that too, 
if I remove it without unloading the driver first. I guess it shouldn't 
be a surprise that the driver isn't expecting the device to disappear.


As I mentioned, I have some trouble with the WinTV-HVR-1400 card, which 
sometimes pops out again, if I push it into the slot too hard (but I'm 
geeting better at that with practice). So what I've done (with the usb3 
card too) to avoid the oopsen is blacklist the driver in 
/etc/modprobe.d/blacklist.conf and then load them when I'm sure the card 
is properly inserted. Not exactly hotplug, but at least I don't have to 
reboot because of an oops- and it's not something I'm doing several 
times an hour.


Chris



oops later. Anyway, to run these tests I built a kernel without the
dvb card's drivers, effectively simulating the situation I had before
Yijing got hotplug working for me. The card popping out may also have
affected these diffs a bit because, for example, the first one has
the CorrErr flag changed, possibly because I had to have two or more
goes at getting the card to lock in the slot. Yesterday that diff
showed no changes. Anyway, here are the diffs:

diff lspci.after_insertion.txt lspci.after_1st_re-insertion.txt
262c262
<   DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
TransPend-
---

   DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
TransPend-

295c295
< 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 3c 12 04
---

40: 10 80 42 01 00 80 00 00 00 00 11 00 12 3c 12 04



diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt




BTW, with the NEC-based card only after every second removal of the card I got
into PresDet- state. So, on every other diff attempt you won't see a difference!
But we are talking about acpiphp here (unlike pciehp) and with that I also
have no problems.




Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-31 Thread Chris Clayton

Hi Martin,

On 01/28/13 21:02, Martin Mokrejs wrote:

Hi Chris,

Chris Clayton wrote:

Hi Martin,

On 01/28/13 12:12, Martin Mokrejs wrote:

Chris Clayton wrote:


[snip]


[chris:~]$ cat /proc/cmdline
root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6

   ^^
**typo**
I've run the test again with pcie_ports=native and the directories now get 
populated. Even better though, is that when I plug in the card, hotplug 
**works** and the card's drivers are loaded.


BTW, I have with acpiphp on 3.7.4:

ls -la /sys/bus/pci_express/devices
total 0
drwxr-xr-x 2 root root 0 Jan 28 13:07 .
drwxr-xr-x 4 root root 0 Jan 28 13:07 ..
$ ls -la /sys/bus/pci/devices/slots


 **typo**
It should be /sys/bus/pci/slots.


ls: cannot access /sys/bus/pci/devices/slots: No such file or directory
$


With acpiphp, I get /sys/bus/pci_express/devices populated but 
/sys/bus/pci/slots is empty.


OK, I haven't realized the typo, but I have here with acpiphp:

# ls -laR /sys/bus/pci/slots
/sys/bus/pci/slots:
total 0
drwxr-xr-x 3 root root 0 Jan 27 17:14 .
drwxr-xr-x 5 root root 0 Jan 25 15:56 ..
drwxr-xr-x 2 root root 0 Jan 27 17:14 1

/sys/bus/pci/slots/1:
total 0
drwxr-xr-x 2 root root0 Jan 27 17:14 .
drwxr-xr-x 3 root root0 Jan 27 17:14 ..
-r--r--r-- 1 root root 4096 Jan 28 21:31 adapter
-r--r--r-- 1 root root 4096 Jan 27 17:14 address
-rw-r--r-- 1 root root 4096 Jan 28 21:31 attention
-r--r--r-- 1 root root 4096 Jan 28 21:31 cur_bus_speed
-r--r--r-- 1 root root 4096 Jan 28 21:31 latch
-r--r--r-- 1 root root 4096 Jan 28 21:31 max_bus_speed
lrwxrwxrwx 1 root root0 Jan 28 21:31 module - ../../../../module/acpiphp
-rw-r--r-- 1 root root 4096 Jan 28 21:31 power
#




And for me hotplug also works (as far as I can tell). ;-)



Excellent! Thank you so much for your help (and patience) Martin and Yijing.

Now to solving why running scandvb doesn't find any TV channels.


Would be fine if you could re-do the PresDet checks and confirm whether it is 
also broken
for you under pciehp.


I've struggled with this a little. For some reason, the expresscard
doesn't always stay properly inserted in the slot when I insert it.
Now that hotplug is working, the modules are being loaded and when
the card pops out again, I get an oops because, of course, the driver
is running and the card disappears. Perhaps the driver can be made a
bit more robust to sudden disappearance of the card. I'll report the


Yes, I had or maybe still have same issues here. I used to get an Oops
for sata_sil24 card weird behavior for USB3.0 NEC-based card. It was
fine always for a VIA-based firewire card and serial PL2303-based one.
I found out it is better if a usb device is connected to the USB card
because if that slips out then the libata layer quickly realizes that.
If there was no device connected, the usb waits too long before it removes
the usb hub from the system. And if you plugin the card meanwhile
back into the slot, weird thing happen.

My usb3 expresscard device has arrived and I get an oops with that too, 
if I remove it without unloading the driver first. I guess it shouldn't 
be a surprise that the driver isn't expecting the device to disappear.


As I mentioned, I have some trouble with the WinTV-HVR-1400 card, which 
sometimes pops out again, if I push it into the slot too hard (but I'm 
geeting better at that with practice). So what I've done (with the usb3 
card too) to avoid the oopsen is blacklist the driver in 
/etc/modprobe.d/blacklist.conf and then load them when I'm sure the card 
is properly inserted. Not exactly hotplug, but at least I don't have to 
reboot because of an oops- and it's not something I'm doing several 
times an hour.


Chris



oops later. Anyway, to run these tests I built a kernel without the
dvb card's drivers, effectively simulating the situation I had before
Yijing got hotplug working for me. The card popping out may also have
affected these diffs a bit because, for example, the first one has
the CorrErr flag changed, possibly because I had to have two or more
goes at getting the card to lock in the slot. Yesterday that diff
showed no changes. Anyway, here are the diffs:

diff lspci.after_insertion.txt lspci.after_1st_re-insertion.txt
262c262
   DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
TransPend-
---

   DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
TransPend-

295c295
 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 3c 12 04
---

40: 10 80 42 01 00 80 00 00 00 00 11 00 12 3c 12 04



diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt

no difference


BTW, with the NEC-based card only after every second removal of the card I got
into PresDet- state. So, on every other diff attempt you won't see a difference!
But we are talking about acpiphp here (unlike pciehp) and with that I also
have no problems.


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-31 Thread Martin Mokrejs
Hi Chris,

Chris Clayton wrote:
 Hi Martin,
 
 On 01/28/13 21:02, Martin Mokrejs wrote:
 Hi Chris,

 Chris Clayton wrote:
 Hi Martin,

 On 01/28/13 12:12, Martin Mokrejs wrote:
 Chris Clayton wrote:


 I've struggled with this a little. For some reason, the expresscard
 doesn't always stay properly inserted in the slot when I insert it.
 Now that hotplug is working, the modules are being loaded and when
 the card pops out again, I get an oops because, of course, the driver
 is running and the card disappears. Perhaps the driver can be made a
 bit more robust to sudden disappearance of the card. I'll report the

 Yes, I had or maybe still have same issues here. I used to get an Oops
 for sata_sil24 card weird behavior for USB3.0 NEC-based card. It was
 fine always for a VIA-based firewire card and serial PL2303-based one.
 I found out it is better if a usb device is connected to the USB card
 because if that slips out then the libata layer quickly realizes that.
 If there was no device connected, the usb waits too long before it removes
 the usb hub from the system. And if you plugin the card meanwhile
 back into the slot, weird thing happen.

 My usb3 expresscard device has arrived and I get an oops with that
 too, if I remove it without unloading the driver first. I guess it
 shouldn't be a surprise that the driver isn't expecting the device to
 disappear.

I avoided the oopses when a USB device to connected to the express card.
Nevertheless, you should report it to linux-usb and linux-pci mailing lists,
along with the oops stacktrace (under a new thread). Maybe you suffer from
another Oops.

 
 As I mentioned, I have some trouble with the WinTV-HVR-1400 card,
 which sometimes pops out again, if I push it into the slot too hard
 (but I'm geeting better at that with practice). So what I've done
 (with the usb3 card too) to avoid the oopsen is blacklist the driver
 in /etc/modprobe.d/blacklist.conf and then load them when I'm sure
 the card is properly inserted. Not exactly hotplug, but at least I
 don't have to reboot because of an oops- and it's not something I'm
 doing several times an hour.

Yeah, i also my way around - not fiddle much with the cards and if they
slip out during insertion, don't re-plug them too quickly (at least with
the USB3 card and SATA card I had problems).

BTW, if you remove a card, you are supposed to push the card into the slot
so it gets ejected. Do not just pull it out (what I did in the beginnings).
I was told that is not the right way (probably affects the PresDet status).

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Martin Mokrejs
Hi Chris,

Chris Clayton wrote:
> Hi Martin,
> 
> On 01/28/13 12:12, Martin Mokrejs wrote:
>> Chris Clayton wrote:
>>>
>>> [snip]
>>>
 [chris:~]$ cat /proc/cmdline
 root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6
>>>   ^^
>>>**typo**
>>> I've run the test again with pcie_ports=native and the directories now get 
>>> populated. Even better though, is that when I plug in the card, hotplug 
>>> **works** and the card's drivers are loaded.
>>
>> BTW, I have with acpiphp on 3.7.4:
>>
>> ls -la /sys/bus/pci_express/devices
>> total 0
>> drwxr-xr-x 2 root root 0 Jan 28 13:07 .
>> drwxr-xr-x 4 root root 0 Jan 28 13:07 ..
>> $ ls -la /sys/bus/pci/devices/slots
>
> **typo**
> It should be /sys/bus/pci/slots.
> 
>> ls: cannot access /sys/bus/pci/devices/slots: No such file or directory
>> $
>>
> With acpiphp, I get /sys/bus/pci_express/devices populated but 
> /sys/bus/pci/slots is empty.

OK, I haven't realized the typo, but I have here with acpiphp:

# ls -laR /sys/bus/pci/slots
/sys/bus/pci/slots:
total 0
drwxr-xr-x 3 root root 0 Jan 27 17:14 .
drwxr-xr-x 5 root root 0 Jan 25 15:56 ..
drwxr-xr-x 2 root root 0 Jan 27 17:14 1

/sys/bus/pci/slots/1:
total 0
drwxr-xr-x 2 root root0 Jan 27 17:14 .
drwxr-xr-x 3 root root0 Jan 27 17:14 ..
-r--r--r-- 1 root root 4096 Jan 28 21:31 adapter
-r--r--r-- 1 root root 4096 Jan 27 17:14 address
-rw-r--r-- 1 root root 4096 Jan 28 21:31 attention
-r--r--r-- 1 root root 4096 Jan 28 21:31 cur_bus_speed
-r--r--r-- 1 root root 4096 Jan 28 21:31 latch
-r--r--r-- 1 root root 4096 Jan 28 21:31 max_bus_speed
lrwxrwxrwx 1 root root0 Jan 28 21:31 module -> ../../../../module/acpiphp
-rw-r--r-- 1 root root 4096 Jan 28 21:31 power
#

> 
>> And for me hotplug also works (as far as I can tell). ;-)
>>
>>>
>>> Excellent! Thank you so much for your help (and patience) Martin and Yijing.
>>>
>>> Now to solving why running scandvb doesn't find any TV channels.
>>
>> Would be fine if you could re-do the PresDet checks and confirm whether it 
>> is also broken
>> for you under pciehp.
>
> I've struggled with this a little. For some reason, the expresscard
> doesn't always stay properly inserted in the slot when I insert it.
> Now that hotplug is working, the modules are being loaded and when
> the card pops out again, I get an oops because, of course, the driver
> is running and the card disappears. Perhaps the driver can be made a
> bit more robust to sudden disappearance of the card. I'll report the

Yes, I had or maybe still have same issues here. I used to get an Oops
for sata_sil24 card weird behavior for USB3.0 NEC-based card. It was
fine always for a VIA-based firewire card and serial PL2303-based one.
I found out it is better if a usb device is connected to the USB card
because if that slips out then the libata layer quickly realizes that.
If there was no device connected, the usb waits too long before it removes
the usb hub from the system. And if you plugin the card meanwhile
back into the slot, weird thing happen.


> oops later. Anyway, to run these tests I built a kernel without the
> dvb card's drivers, effectively simulating the situation I had before
> Yijing got hotplug working for me. The card popping out may also have
> affected these diffs a bit because, for example, the first one has
> the CorrErr flag changed, possibly because I had to have two or more
> goes at getting the card to lock in the slot. Yesterday that diff
> showed no changes. Anyway, here are the diffs:
> 
> diff lspci.after_insertion.txt lspci.after_1st_re-insertion.txt
> 262c262
> <   DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
> TransPend-
> ---
>>   DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
>> TransPend-
> 295c295
> < 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 3c 12 04
> ---
>> 40: 10 80 42 01 00 80 00 00 00 00 11 00 12 3c 12 04
> 
> 
> diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt
> 
> 

BTW, with the NEC-based card only after every second removal of the card I got
into PresDet- state. So, on every other diff attempt you won't see a difference!
But we are talking about acpiphp here (unlike pciehp) and with that I also 
have no problems.

> 
> =
> diff lspci.before_insertion.txt lspci.after_1st_removal.txt
> 112c112
> < 60: 20 20 ff 07 00 00 00 00 01 00 00 00 00 00 08 c0
> ---
>> 60: 20 20 ff 07 00 00 00 00 01 00 00 00 00 00 00 c0
> 262,263c262,263
> <   DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
> TransPend-
> <   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
> L0 <1us, L1 <16us
> ---
>>   DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
>> TransPend-
>>   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Chris Clayton

Hi Martin,

On 01/28/13 12:12, Martin Mokrejs wrote:

Chris Clayton wrote:


[snip]


[chris:~]$ cat /proc/cmdline
root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6

  ^^
   **typo**
I've run the test again with pcie_ports=native and the directories now get 
populated. Even better though, is that when I plug in the card, hotplug 
**works** and the card's drivers are loaded.


BTW, I have with acpiphp on 3.7.4:

ls -la /sys/bus/pci_express/devices
total 0
drwxr-xr-x 2 root root 0 Jan 28 13:07 .
drwxr-xr-x 4 root root 0 Jan 28 13:07 ..
$ ls -la /sys/bus/pci/devices/slots

   
**typo**
It should be /sys/bus/pci/slots.


ls: cannot access /sys/bus/pci/devices/slots: No such file or directory
$

With acpiphp, I get /sys/bus/pci_express/devices populated but 
/sys/bus/pci/slots is empty.



And for me hotplug also works (as far as I can tell). ;-)



Excellent! Thank you so much for your help (and patience) Martin and Yijing.

Now to solving why running scandvb doesn't find any TV channels.


Would be fine if you could re-do the PresDet checks and confirm whether it is 
also broken
for you under pciehp.
I've struggled with this a little. For some reason, the expresscard 
doesn't always stay properly inserted in the slot when I insert it. Now 
that hotplug is working, the modules are being loaded and when the card 
pops out again, I get an oops because, of course, the driver is running 
and the card disappears. Perhaps the driver can be made a bit more 
robust to sudden disappearance of the card. I'll report the oops later. 
Anyway, to run these tests I built a kernel without the dvb card's 
drivers, effectively simulating the situation I had before Yijing got 
hotplug working for me. The card popping out may also have affected 
these diffs a bit because, for example, the first one has the CorrErr 
flag changed, possibly because I had to have two or more goes at getting 
the card to lock in the slot. Yesterday that diff showed no changes. 
Anyway, here are the diffs:


diff lspci.after_insertion.txt lspci.after_1st_re-insertion.txt
262c262
<   DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
TransPend-

---
>   DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- 
AuxPwr+ TransPend-

295c295
< 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 3c 12 04
---
> 40: 10 80 42 01 00 80 00 00 00 00 11 00 12 3c 12 04


diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt



=
diff lspci.before_insertion.txt lspci.after_1st_removal.txt
112c112
< 60: 20 20 ff 07 00 00 00 00 01 00 00 00 00 00 08 c0
---
> 60: 20 20 ff 07 00 00 00 00 01 00 00 00 00 00 00 c0
262,263c262,263
<   DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
TransPend-
<   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, 
Latency L0 <1us, L1 <16us

---
>   DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- 
AuxPwr+ TransPend-
>   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, 
Latency L0 <512ns, L1 <16us

265c265
<   LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- 
Retrain- CommClk-

---
>   LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
CommClk+

267c267
<   LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ 
DLActive- BWMgmt- ABWMgmt-

---
>   LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ 
DLActive- BWMgmt+ ABWMgmt-

273c273
<   Changed: MRL- PresDet- LinkState-
---
>   Changed: MRL- PresDet- LinkState+
295,296c295,296
< 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 4c 12 04
< 50: 03 00 01 10 60 b2 1c 00 28 00 00 00 00 00 00 00
---
> 40: 10 80 42 01 00 80 00 00 00 00 11 00 12 3c 12 04
> 50: 40 00 11 50 60 b2 1c 00 28 00 00 01 00 00 00 00

===
diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt




diff lspci.before_insertion.txt lspci.after_insertion.txt
112c112
< 60: 20 20 ff 07 00 00 00 00 01 00 00 00 00 00 08 c0
---
> 60: 20 20 ff 07 00 00 00 00 01 00 00 00 00 00 00 c0
263c263
<   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, 
Latency L0 <1us, L1 <16us

---
>   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, 
Latency L0 <512ns, L1 <16us

265c265
<   LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- 
Retrain- CommClk-

---
>   LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
CommClk+

267c267
<   LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ 
DLActive- BWMgmt- ABWMgmt-

---
>   LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ 
DLActive+ BWMgmt+ ABWMgmt-

272,273c272,273
<   SltSta: Status: AttnBtn- 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Yijing Wang
On 2013/1/28 20:12, Martin Mokrejs wrote:
> Chris Clayton wrote:
>>
>> [snip]
>>
>>> [chris:~]$ cat /proc/cmdline
>>> root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6
>>  ^^
>>   **typo**
>> I've run the test again with pcie_ports=native and the directories now get 
>> populated. Even better though, is that when I plug in the card, hotplug 
>> **works** and the card's drivers are loaded.
> 
> BTW, I have with acpiphp on 3.7.4:
> 
> ls -la /sys/bus/pci_express/devices
> total 0
> drwxr-xr-x 2 root root 0 Jan 28 13:07 .
> drwxr-xr-x 4 root root 0 Jan 28 13:07 ..
> $ ls -la /sys/bus/pci/devices/slots
> ls: cannot access /sys/bus/pci/devices/slots: No such file or directory
> $
> 
> And for me hotplug also works (as far as I can tell). ;-)

Right, only pciehp (pcie nativa hotplug) need to bind pcie port devices.

Acpiphp (acpi pci hotplug) don't need pcie port devices, it just depend the 
firmware
in your machine, also acpiphp can support both pci hotplug and pcie hotplug. 
pciehp only
support pcie device hotplug.

> 
>>
>> Excellent! Thank you so much for your help (and patience) Martin and Yijing.
>>
>> Now to solving why running scandvb doesn't find any TV channels.
> 
> Would be fine if you could re-do the PresDet checks and confirm whether it is 
> also broken
> for you under pciehp.
> 
> Martin
> 
> 


-- 
Thanks!
Yijing

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Martin Mokrejs
Chris Clayton wrote:
> 
> [snip]
> 
>> [chris:~]$ cat /proc/cmdline
>> root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6
>  ^^
>   **typo**
> I've run the test again with pcie_ports=native and the directories now get 
> populated. Even better though, is that when I plug in the card, hotplug 
> **works** and the card's drivers are loaded.

BTW, I have with acpiphp on 3.7.4:

ls -la /sys/bus/pci_express/devices
total 0
drwxr-xr-x 2 root root 0 Jan 28 13:07 .
drwxr-xr-x 4 root root 0 Jan 28 13:07 ..
$ ls -la /sys/bus/pci/devices/slots
ls: cannot access /sys/bus/pci/devices/slots: No such file or directory
$

And for me hotplug also works (as far as I can tell). ;-)

> 
> Excellent! Thank you so much for your help (and patience) Martin and Yijing.
> 
> Now to solving why running scandvb doesn't find any TV channels.

Would be fine if you could re-do the PresDet checks and confirm whether it is 
also broken
for you under pciehp.

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Chris Clayton


[snip]


[chris:~]$ cat /proc/cmdline
root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6

 ^^
  **typo**
I've run the test again with pcie_ports=native and the directories now 
get populated. Even better though, is that when I plug in the card, 
hotplug **works** and the card's drivers are loaded.


Excellent! Thank you so much for your help (and patience) Martin and Yijing.

Now to solving why running scandvb doesn't find any TV channels.

Chris

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Yijing Wang
On 2013/1/28 19:01, Chris Clayton wrote:
> [no one screamed, so linux-media ml dropped]
> 
> Hi Martin,
> 
> On 01/28/13 10:56, Martin Mokrejs wrote:
>>
>>
>> Chris Clayton wrote:
>>> Hi Yijing,
>>>
>>> On 01/28/13 02:40, Yijing Wang wrote:
 Hi Chris,
  Sorry for the delay reply. It seems like my reply last night was 
 missed.

   From the sysinfo you provide, there are no pcie port devices under 
 /sys/bus/pci_express/devices.
 Maybe because there are some problems with _OSC in your laptop, so pcie 
 port driver won't create pcie port device
 for hotplug, aer and so on.

 Maybe you can add boot parameter "pcie_ports=native" and reboot your 
 laptop.
 Then use #modprobe pciehp pciehp_force=1 pciehp_debug=1 to load pciehp 
 modules.
 After above actions, enter /sys/bus/pci_express/devices/ directory and 
 /sys/bus/pci/slots/
 Some slots and pcie port devices should be there now.

>>> Sorry, I've tried your suggestion, but the two directories are still empty.
>>>
>>> I verified the test environment as follows:
>>>
>>> [chris:~]$ uname -a
>>> Linux laptop 3.7.4 #15 SMP PREEMPT Mon Jan 28 09:43:57 GMT 2013 i686 
>>> GNU/Linux
>>> [chris:~]$ grep acpiphp /boot/System.map-3.7.4
>>> [chris:~]$ modinfo acpiphp
>>> modinfo: ERROR: Module acpiphp not found.
>>> [chris:~]$ modinfo pciehp
>>> filename:   /lib/modules/3.7.4/kernel/drivers/pci/hotplug/pciehp.ko
>>> license:GPL
>>> description:PCI Express Hot Plug Controller Driver
>>> author: Dan Zink , Greg Kroah-Hartman 
>>> , Dely Sy 
>>> depends:
>>> intree: Y
>>> vermagic:   3.7.4 SMP preempt mod_unload CORE2
>>> parm:   pciehp_detect_mode:Slot detection mode: pcie, acpi, auto
>>>pcie  - Use PCIe based slot detection
>>>acpi  - Use ACPI for slot detection
>>>auto(default) - Auto select mode. Use acpi option if duplicate
>>>slot ids are found. Otherwise, use pcie option
>>>   (charp)
>>> parm:   pciehp_debug:Debugging mode enabled or not (bool)
>>> parm:   pciehp_poll_mode:Using polling mechanism for hot-plug 
>>> events or not (bool)
>>> parm:   pciehp_poll_time:Polling mechanism frequency, in seconds 
>>> (int)
>>> parm:   pciehp_force:Force pciehp, even if OSHP is missing (bool)
>>> [chris:~]$ cat /proc/cmdline
>>> root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6

Oh, should "pcie_ports=native" not "pciehp_ports=native".


>>> [chris:~]$ sudo modprobe pciehp pciehp_force=1 pciehp_debug=1
>>> [chris:~]$ lsmod
>>> Module  Size  Used by
>>> pciehp 19907  0
>>> [...]
>>>
>>> You will notice that the kernel I have used is 3.7.4. I hope that's a 
>>> suitable kernel for your tests. I've moved away from the 3.8 development 
>>> kernel onto one that's stable and on which Martin has identified a 
>>> solution. I see Greg KH released 3.7.5 yesterday and it includes a pciehp 
>>> change. I'll upgrade to that, run the tests again and report back.
>>>
>>> One question - should I include the (acpi) pci_slot driver in the kernel 
>>> build or does pciehp populate the directories without pci_slot?
>>
>> Hi Chris,
>>I am not a kernel developer but from the other threads at linux-pci I 
>> gathered there are in some
>> scenarios problems with improper loading of the hotplug modules. Therefore, 
>> the patches floating
>> now around are to disable hotplug module availability. Therefore, I 
>> suggested you to try only
>> only static kernel support for hotplug. That way you don't hit the issue. 
>> That is for sure not
>> addressed in 3.7.5, seems that it is probably in -next.
>> Martin
>>
> In a few minutes I'll be sending out another reply to Yijing's suggestions 
> because I noticed a typo in the parameter I added to the kernel command line. 
> I'm now going back through email to remember why we were trying to get those 
> /sys/bus/pci... directories populated.
> 
> Watch this space! :-)
> Chris
> 
> 
> .
> 


-- 
Thanks!
Yijing

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Yijing Wang
>> Then use #modprobe pciehp pciehp_force=1 pciehp_debug=1 to load pciehp 
>> modules.
>> After above actions, enter /sys/bus/pci_express/devices/ directory and 
>> /sys/bus/pci/slots/
>> Some slots and pcie port devices should be there now.
>>
> Sorry, I've tried your suggestion, but the two directories are still empty.
> 
> I verified the test environment as follows:
> 
> [chris:~]$ uname -a
> Linux laptop 3.7.4 #15 SMP PREEMPT Mon Jan 28 09:43:57 GMT 2013 i686 GNU/Linux
> [chris:~]$ grep acpiphp /boot/System.map-3.7.4
> [chris:~]$ modinfo acpiphp
> modinfo: ERROR: Module acpiphp not found.
> [chris:~]$ modinfo pciehp
> filename:   /lib/modules/3.7.4/kernel/drivers/pci/hotplug/pciehp.ko
> license:GPL
> description:PCI Express Hot Plug Controller Driver
> author: Dan Zink , Greg Kroah-Hartman 
> , Dely Sy 
> depends:
> intree: Y
> vermagic:   3.7.4 SMP preempt mod_unload CORE2
> parm:   pciehp_detect_mode:Slot detection mode: pcie, acpi, auto
>   pcie  - Use PCIe based slot detection
>   acpi  - Use ACPI for slot detection
>   auto(default) - Auto select mode. Use acpi option if duplicate
>   slot ids are found. Otherwise, use pcie option
>  (charp)
> parm:   pciehp_debug:Debugging mode enabled or not (bool)
> parm:   pciehp_poll_mode:Using polling mechanism for hot-plug events 
> or not (bool)
> parm:   pciehp_poll_time:Polling mechanism frequency, in seconds (int)
> parm:   pciehp_force:Force pciehp, even if OSHP is missing (bool)
> [chris:~]$ cat /proc/cmdline
> root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6
> [chris:~]$ sudo modprobe pciehp pciehp_force=1 pciehp_debug=1
> [chris:~]$ lsmod
> Module  Size  Used by
> pciehp 19907  0
> [...]
> 
> You will notice that the kernel I have used is 3.7.4. I hope that's a 
> suitable kernel for your tests. I've moved away from the 3.8 development 
> kernel onto one that's stable and on which Martin has identified a solution. 
> I see Greg KH released 3.7.5 yesterday and it includes a pciehp change. I'll 
> upgrade to that, run the tests again and report back.
> 
> One question - should I include the (acpi) pci_slot driver in the kernel 
> build or does pciehp populate the directories without pci_slot?

Hi Chris,
   pci_slot driver is not necessary, I think empty directory under 
/sys/bus/pci_express/devices is the main problem,
Because no pcie port devices found in the system, so pciehp driver can not bind 
any devices when loading it.
Then no slot will created under /sys/bus/pci/devices/slots.

> 
> Thanks again.
> 
>> /sys/bus/pci_express/devices:
>> total 0
>>
>> /sys/bus/pci_express/drivers:
>> total 0
>> drwxr-xr-x 2 root root 0 Jan 27 13:17 pciehp/
>>
>>
>> On 2013/1/28 6:53, Chris Clayton wrote:
>>> Thanks again, Martin.
>>>
>>> Firstly, maybe we should remove the linux-media list from the copy list. I 
>>> imagine this hotplug stuff is just noise to them.
>>>
>>> [snip]
 Do you have any other express card around to try if it works at all? Try 
 that always after a cold boot.

>>> Not at the moment, but I ordered at USB3 expresscard yesterday, so I will 
>>> have one soon.
>>>
 Posting a diff result of the below procedure might help:

 # lspci -vvvxxx > lspci.before_insertion.txt

 [plug your card into the slot]

 # lspci -vvvxxx > lspci.after_insertion.txt

 [ unplug your card]

 # lspci -vvvxxx > lspci.after_1st_removal.txt



-- 
Thanks!
Yijing

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Chris Clayton

[no one screamed, so linux-media ml dropped]

Hi Martin,

On 01/28/13 10:56, Martin Mokrejs wrote:



Chris Clayton wrote:

Hi Yijing,

On 01/28/13 02:40, Yijing Wang wrote:

Hi Chris,
 Sorry for the delay reply. It seems like my reply last night was missed.

  From the sysinfo you provide, there are no pcie port devices under 
/sys/bus/pci_express/devices.
Maybe because there are some problems with _OSC in your laptop, so pcie port 
driver won't create pcie port device
for hotplug, aer and so on.

Maybe you can add boot parameter "pcie_ports=native" and reboot your laptop.
Then use #modprobe pciehp pciehp_force=1 pciehp_debug=1 to load pciehp modules.
After above actions, enter /sys/bus/pci_express/devices/ directory and 
/sys/bus/pci/slots/
Some slots and pcie port devices should be there now.


Sorry, I've tried your suggestion, but the two directories are still empty.

I verified the test environment as follows:

[chris:~]$ uname -a
Linux laptop 3.7.4 #15 SMP PREEMPT Mon Jan 28 09:43:57 GMT 2013 i686 GNU/Linux
[chris:~]$ grep acpiphp /boot/System.map-3.7.4
[chris:~]$ modinfo acpiphp
modinfo: ERROR: Module acpiphp not found.
[chris:~]$ modinfo pciehp
filename:   /lib/modules/3.7.4/kernel/drivers/pci/hotplug/pciehp.ko
license:GPL
description:PCI Express Hot Plug Controller Driver
author: Dan Zink , Greg Kroah-Hartman , 
Dely Sy 
depends:
intree: Y
vermagic:   3.7.4 SMP preempt mod_unload CORE2
parm:   pciehp_detect_mode:Slot detection mode: pcie, acpi, auto
   pcie  - Use PCIe based slot detection
   acpi  - Use ACPI for slot detection
   auto(default) - Auto select mode. Use acpi option if duplicate
   slot ids are found. Otherwise, use pcie option
  (charp)
parm:   pciehp_debug:Debugging mode enabled or not (bool)
parm:   pciehp_poll_mode:Using polling mechanism for hot-plug events or 
not (bool)
parm:   pciehp_poll_time:Polling mechanism frequency, in seconds (int)
parm:   pciehp_force:Force pciehp, even if OSHP is missing (bool)
[chris:~]$ cat /proc/cmdline
root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6
[chris:~]$ sudo modprobe pciehp pciehp_force=1 pciehp_debug=1
[chris:~]$ lsmod
Module  Size  Used by
pciehp 19907  0
[...]

You will notice that the kernel I have used is 3.7.4. I hope that's a suitable 
kernel for your tests. I've moved away from the 3.8 development kernel onto one 
that's stable and on which Martin has identified a solution. I see Greg KH 
released 3.7.5 yesterday and it includes a pciehp change. I'll upgrade to that, 
run the tests again and report back.

One question - should I include the (acpi) pci_slot driver in the kernel build 
or does pciehp populate the directories without pci_slot?


Hi Chris,
   I am not a kernel developer but from the other threads at linux-pci I 
gathered there are in some
scenarios problems with improper loading of the hotplug modules. Therefore, the 
patches floating
now around are to disable hotplug module availability. Therefore, I suggested 
you to try only
only static kernel support for hotplug. That way you don't hit the issue. That 
is for sure not
addressed in 3.7.5, seems that it is probably in -next.
Martin

In a few minutes I'll be sending out another reply to Yijing's 
suggestions because I noticed a typo in the parameter I added to the 
kernel command line. I'm now going back through email to remember why we 
were trying to get those /sys/bus/pci... directories populated.


Watch this space! :-)
Chris

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Martin Mokrejs


Chris Clayton wrote:
> Hi Yijing,
> 
> On 01/28/13 02:40, Yijing Wang wrote:
>> Hi Chris,
>> Sorry for the delay reply. It seems like my reply last night was missed.
>>
>>  From the sysinfo you provide, there are no pcie port devices under 
>> /sys/bus/pci_express/devices.
>> Maybe because there are some problems with _OSC in your laptop, so pcie port 
>> driver won't create pcie port device
>> for hotplug, aer and so on.
>>
>> Maybe you can add boot parameter "pcie_ports=native" and reboot your laptop.
>> Then use #modprobe pciehp pciehp_force=1 pciehp_debug=1 to load pciehp 
>> modules.
>> After above actions, enter /sys/bus/pci_express/devices/ directory and 
>> /sys/bus/pci/slots/
>> Some slots and pcie port devices should be there now.
>>
> Sorry, I've tried your suggestion, but the two directories are still empty.
> 
> I verified the test environment as follows:
> 
> [chris:~]$ uname -a
> Linux laptop 3.7.4 #15 SMP PREEMPT Mon Jan 28 09:43:57 GMT 2013 i686 GNU/Linux
> [chris:~]$ grep acpiphp /boot/System.map-3.7.4
> [chris:~]$ modinfo acpiphp
> modinfo: ERROR: Module acpiphp not found.
> [chris:~]$ modinfo pciehp
> filename:   /lib/modules/3.7.4/kernel/drivers/pci/hotplug/pciehp.ko
> license:GPL
> description:PCI Express Hot Plug Controller Driver
> author: Dan Zink , Greg Kroah-Hartman 
> , Dely Sy 
> depends:
> intree: Y
> vermagic:   3.7.4 SMP preempt mod_unload CORE2
> parm:   pciehp_detect_mode:Slot detection mode: pcie, acpi, auto
>   pcie  - Use PCIe based slot detection
>   acpi  - Use ACPI for slot detection
>   auto(default) - Auto select mode. Use acpi option if duplicate
>   slot ids are found. Otherwise, use pcie option
>  (charp)
> parm:   pciehp_debug:Debugging mode enabled or not (bool)
> parm:   pciehp_poll_mode:Using polling mechanism for hot-plug events 
> or not (bool)
> parm:   pciehp_poll_time:Polling mechanism frequency, in seconds (int)
> parm:   pciehp_force:Force pciehp, even if OSHP is missing (bool)
> [chris:~]$ cat /proc/cmdline
> root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6
> [chris:~]$ sudo modprobe pciehp pciehp_force=1 pciehp_debug=1
> [chris:~]$ lsmod
> Module  Size  Used by
> pciehp 19907  0
> [...]
> 
> You will notice that the kernel I have used is 3.7.4. I hope that's a 
> suitable kernel for your tests. I've moved away from the 3.8 development 
> kernel onto one that's stable and on which Martin has identified a solution. 
> I see Greg KH released 3.7.5 yesterday and it includes a pciehp change. I'll 
> upgrade to that, run the tests again and report back.
> 
> One question - should I include the (acpi) pci_slot driver in the kernel 
> build or does pciehp populate the directories without pci_slot?

Hi Chris,
  I am not a kernel developer but from the other threads at linux-pci I 
gathered there are in some
scenarios problems with improper loading of the hotplug modules. Therefore, the 
patches floating
now around are to disable hotplug module availability. Therefore, I suggested 
you to try only
only static kernel support for hotplug. That way you don't hit the issue. That 
is for sure not
addressed in 3.7.5, seems that it is probably in -next.
Martin

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Chris Clayton

Hi Yijing,

On 01/28/13 02:40, Yijing Wang wrote:

Hi Chris,
Sorry for the delay reply. It seems like my reply last night was missed.

 From the sysinfo you provide, there are no pcie port devices under 
/sys/bus/pci_express/devices.
Maybe because there are some problems with _OSC in your laptop, so pcie port 
driver won't create pcie port device
for hotplug, aer and so on.

Maybe you can add boot parameter "pcie_ports=native" and reboot your laptop.
Then use #modprobe pciehp pciehp_force=1 pciehp_debug=1 to load pciehp modules.
After above actions, enter /sys/bus/pci_express/devices/ directory and 
/sys/bus/pci/slots/
Some slots and pcie port devices should be there now.


Sorry, I've tried your suggestion, but the two directories are still empty.

I verified the test environment as follows:

[chris:~]$ uname -a
Linux laptop 3.7.4 #15 SMP PREEMPT Mon Jan 28 09:43:57 GMT 2013 i686 
GNU/Linux

[chris:~]$ grep acpiphp /boot/System.map-3.7.4
[chris:~]$ modinfo acpiphp
modinfo: ERROR: Module acpiphp not found.
[chris:~]$ modinfo pciehp
filename:   /lib/modules/3.7.4/kernel/drivers/pci/hotplug/pciehp.ko
license:GPL
description:PCI Express Hot Plug Controller Driver
author: Dan Zink , Greg Kroah-Hartman 
, Dely Sy 

depends:
intree: Y
vermagic:   3.7.4 SMP preempt mod_unload CORE2
parm:   pciehp_detect_mode:Slot detection mode: pcie, acpi, auto
  pcie  - Use PCIe based slot detection
  acpi  - Use ACPI for slot detection
  auto(default) - Auto select mode. Use acpi option if duplicate
  slot ids are found. Otherwise, use pcie option
 (charp)
parm:   pciehp_debug:Debugging mode enabled or not (bool)
parm:   pciehp_poll_mode:Using polling mechanism for hot-plug 
events or not (bool)
parm:   pciehp_poll_time:Polling mechanism frequency, in seconds 
(int)

parm:   pciehp_force:Force pciehp, even if OSHP is missing (bool)
[chris:~]$ cat /proc/cmdline
root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6
[chris:~]$ sudo modprobe pciehp pciehp_force=1 pciehp_debug=1
[chris:~]$ lsmod
Module  Size  Used by
pciehp 19907  0
[...]

You will notice that the kernel I have used is 3.7.4. I hope that's a 
suitable kernel for your tests. I've moved away from the 3.8 development 
kernel onto one that's stable and on which Martin has identified a 
solution. I see Greg KH released 3.7.5 yesterday and it includes a 
pciehp change. I'll upgrade to that, run the tests again and report back.


One question - should I include the (acpi) pci_slot driver in the kernel 
build or does pciehp populate the directories without pci_slot?


Thanks again.


/sys/bus/pci_express/devices:
total 0

/sys/bus/pci_express/drivers:
total 0
drwxr-xr-x 2 root root 0 Jan 27 13:17 pciehp/


On 2013/1/28 6:53, Chris Clayton wrote:

Thanks again, Martin.

Firstly, maybe we should remove the linux-media list from the copy list. I 
imagine this hotplug stuff is just noise to them.

[snip]

Do you have any other express card around to try if it works at all? Try that 
always after a cold boot.


Not at the moment, but I ordered at USB3 expresscard yesterday, so I will have 
one soon.


Posting a diff result of the below procedure might help:

# lspci -vvvxxx > lspci.before_insertion.txt

[plug your card into the slot]

# lspci -vvvxxx > lspci.after_insertion.txt

[ unplug your card]

# lspci -vvvxxx > lspci.after_1st_removal.txt

[re-plug your card into the slot]

# lspci -vvvxxx > lspci.after_1st_re-insertion.txt

[ unplug your card]

# lspci -vvvxxx > lspci.after_2nd_removal.txt



OK, I've been using kernel 3.8.0-rc kernels so far, but given that is still 
under development, I've switched to 3.7.4, mainly because you are having 
success with 3.7.x, acpiphp and pcie_aspm=off. I verified the environment as 
follows:

[chris:~]$ cat /proc/cmdline
root=/dev/sda5 pcie_aspm=off ro resume=/dev/sda6
[chris:~]$ dmesg | grep ASPM
[0.00] PCIe ASPM is disabled
[0.348959]  pci:00: ACPI _OSC support notification failed, disabling 
PCIe ASPM
[chris:~]$ dmesg | grep acpiphp
[0.400846] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[chris:~]$ dmesg | grep pciehp
[chris:~]$ uname -a
Linux laptop 3.7.4 #13 SMP PREEMPT Sun Jan 27 18:39:39 GMT 2013 i686 GNU/Linux



Then compare them using diff. These should have no difference:

diff lspci.after_insertion.txt lspci.after_1st_re-insertion.txt
diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt


Correct, there were no differences.



These may have only little difference, or none:

diff lspci.before_insertion.txt lspci.after_1st_removal.txt


263c263
<   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency L0 
<1us, L1 <16us
---
  >   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency L0 
<512ns, L1 <16us
265c265
<   LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- 
CommClk-
---
  > 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Chris Clayton

Hi Yijing,

On 01/28/13 02:40, Yijing Wang wrote:

Hi Chris,
Sorry for the delay reply. It seems like my reply last night was missed.

 From the sysinfo you provide, there are no pcie port devices under 
/sys/bus/pci_express/devices.
Maybe because there are some problems with _OSC in your laptop, so pcie port 
driver won't create pcie port device
for hotplug, aer and so on.

Maybe you can add boot parameter pcie_ports=native and reboot your laptop.
Then use #modprobe pciehp pciehp_force=1 pciehp_debug=1 to load pciehp modules.
After above actions, enter /sys/bus/pci_express/devices/ directory and 
/sys/bus/pci/slots/
Some slots and pcie port devices should be there now.


Sorry, I've tried your suggestion, but the two directories are still empty.

I verified the test environment as follows:

[chris:~]$ uname -a
Linux laptop 3.7.4 #15 SMP PREEMPT Mon Jan 28 09:43:57 GMT 2013 i686 
GNU/Linux

[chris:~]$ grep acpiphp /boot/System.map-3.7.4
[chris:~]$ modinfo acpiphp
modinfo: ERROR: Module acpiphp not found.
[chris:~]$ modinfo pciehp
filename:   /lib/modules/3.7.4/kernel/drivers/pci/hotplug/pciehp.ko
license:GPL
description:PCI Express Hot Plug Controller Driver
author: Dan Zink dan.z...@compaq.com, Greg Kroah-Hartman 
g...@kroah.com, Dely Sy dely.l...@intel.com

depends:
intree: Y
vermagic:   3.7.4 SMP preempt mod_unload CORE2
parm:   pciehp_detect_mode:Slot detection mode: pcie, acpi, auto
  pcie  - Use PCIe based slot detection
  acpi  - Use ACPI for slot detection
  auto(default) - Auto select mode. Use acpi option if duplicate
  slot ids are found. Otherwise, use pcie option
 (charp)
parm:   pciehp_debug:Debugging mode enabled or not (bool)
parm:   pciehp_poll_mode:Using polling mechanism for hot-plug 
events or not (bool)
parm:   pciehp_poll_time:Polling mechanism frequency, in seconds 
(int)

parm:   pciehp_force:Force pciehp, even if OSHP is missing (bool)
[chris:~]$ cat /proc/cmdline
root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6
[chris:~]$ sudo modprobe pciehp pciehp_force=1 pciehp_debug=1
[chris:~]$ lsmod
Module  Size  Used by
pciehp 19907  0
[...]

You will notice that the kernel I have used is 3.7.4. I hope that's a 
suitable kernel for your tests. I've moved away from the 3.8 development 
kernel onto one that's stable and on which Martin has identified a 
solution. I see Greg KH released 3.7.5 yesterday and it includes a 
pciehp change. I'll upgrade to that, run the tests again and report back.


One question - should I include the (acpi) pci_slot driver in the kernel 
build or does pciehp populate the directories without pci_slot?


Thanks again.


/sys/bus/pci_express/devices:
total 0

/sys/bus/pci_express/drivers:
total 0
drwxr-xr-x 2 root root 0 Jan 27 13:17 pciehp/


On 2013/1/28 6:53, Chris Clayton wrote:

Thanks again, Martin.

Firstly, maybe we should remove the linux-media list from the copy list. I 
imagine this hotplug stuff is just noise to them.

[snip]

Do you have any other express card around to try if it works at all? Try that 
always after a cold boot.


Not at the moment, but I ordered at USB3 expresscard yesterday, so I will have 
one soon.


Posting a diff result of the below procedure might help:

# lspci -vvvxxx  lspci.before_insertion.txt

[plug your card into the slot]

# lspci -vvvxxx  lspci.after_insertion.txt

[ unplug your card]

# lspci -vvvxxx  lspci.after_1st_removal.txt

[re-plug your card into the slot]

# lspci -vvvxxx  lspci.after_1st_re-insertion.txt

[ unplug your card]

# lspci -vvvxxx  lspci.after_2nd_removal.txt



OK, I've been using kernel 3.8.0-rc kernels so far, but given that is still 
under development, I've switched to 3.7.4, mainly because you are having 
success with 3.7.x, acpiphp and pcie_aspm=off. I verified the environment as 
follows:

[chris:~]$ cat /proc/cmdline
root=/dev/sda5 pcie_aspm=off ro resume=/dev/sda6
[chris:~]$ dmesg | grep ASPM
[0.00] PCIe ASPM is disabled
[0.348959]  pci:00: ACPI _OSC support notification failed, disabling 
PCIe ASPM
[chris:~]$ dmesg | grep acpiphp
[0.400846] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[chris:~]$ dmesg | grep pciehp
[chris:~]$ uname -a
Linux laptop 3.7.4 #13 SMP PREEMPT Sun Jan 27 18:39:39 GMT 2013 i686 GNU/Linux



Then compare them using diff. These should have no difference:

diff lspci.after_insertion.txt lspci.after_1st_re-insertion.txt
diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt


Correct, there were no differences.



These may have only little difference, or none:

diff lspci.before_insertion.txt lspci.after_1st_removal.txt


263c263
   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency L0 
1us, L1 16us
---
 LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency L0 
512ns, L1 16us
265c265
   LnkCtl: ASPM L0s L1 Enabled; RCB 64 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Martin Mokrejs


Chris Clayton wrote:
 Hi Yijing,
 
 On 01/28/13 02:40, Yijing Wang wrote:
 Hi Chris,
 Sorry for the delay reply. It seems like my reply last night was missed.

  From the sysinfo you provide, there are no pcie port devices under 
 /sys/bus/pci_express/devices.
 Maybe because there are some problems with _OSC in your laptop, so pcie port 
 driver won't create pcie port device
 for hotplug, aer and so on.

 Maybe you can add boot parameter pcie_ports=native and reboot your laptop.
 Then use #modprobe pciehp pciehp_force=1 pciehp_debug=1 to load pciehp 
 modules.
 After above actions, enter /sys/bus/pci_express/devices/ directory and 
 /sys/bus/pci/slots/
 Some slots and pcie port devices should be there now.

 Sorry, I've tried your suggestion, but the two directories are still empty.
 
 I verified the test environment as follows:
 
 [chris:~]$ uname -a
 Linux laptop 3.7.4 #15 SMP PREEMPT Mon Jan 28 09:43:57 GMT 2013 i686 GNU/Linux
 [chris:~]$ grep acpiphp /boot/System.map-3.7.4
 [chris:~]$ modinfo acpiphp
 modinfo: ERROR: Module acpiphp not found.
 [chris:~]$ modinfo pciehp
 filename:   /lib/modules/3.7.4/kernel/drivers/pci/hotplug/pciehp.ko
 license:GPL
 description:PCI Express Hot Plug Controller Driver
 author: Dan Zink dan.z...@compaq.com, Greg Kroah-Hartman 
 g...@kroah.com, Dely Sy dely.l...@intel.com
 depends:
 intree: Y
 vermagic:   3.7.4 SMP preempt mod_unload CORE2
 parm:   pciehp_detect_mode:Slot detection mode: pcie, acpi, auto
   pcie  - Use PCIe based slot detection
   acpi  - Use ACPI for slot detection
   auto(default) - Auto select mode. Use acpi option if duplicate
   slot ids are found. Otherwise, use pcie option
  (charp)
 parm:   pciehp_debug:Debugging mode enabled or not (bool)
 parm:   pciehp_poll_mode:Using polling mechanism for hot-plug events 
 or not (bool)
 parm:   pciehp_poll_time:Polling mechanism frequency, in seconds (int)
 parm:   pciehp_force:Force pciehp, even if OSHP is missing (bool)
 [chris:~]$ cat /proc/cmdline
 root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6
 [chris:~]$ sudo modprobe pciehp pciehp_force=1 pciehp_debug=1
 [chris:~]$ lsmod
 Module  Size  Used by
 pciehp 19907  0
 [...]
 
 You will notice that the kernel I have used is 3.7.4. I hope that's a 
 suitable kernel for your tests. I've moved away from the 3.8 development 
 kernel onto one that's stable and on which Martin has identified a solution. 
 I see Greg KH released 3.7.5 yesterday and it includes a pciehp change. I'll 
 upgrade to that, run the tests again and report back.
 
 One question - should I include the (acpi) pci_slot driver in the kernel 
 build or does pciehp populate the directories without pci_slot?

Hi Chris,
  I am not a kernel developer but from the other threads at linux-pci I 
gathered there are in some
scenarios problems with improper loading of the hotplug modules. Therefore, the 
patches floating
now around are to disable hotplug module availability. Therefore, I suggested 
you to try only
only static kernel support for hotplug. That way you don't hit the issue. That 
is for sure not
addressed in 3.7.5, seems that it is probably in -next.
Martin

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Chris Clayton

[no one screamed, so linux-media ml dropped]

Hi Martin,

On 01/28/13 10:56, Martin Mokrejs wrote:



Chris Clayton wrote:

Hi Yijing,

On 01/28/13 02:40, Yijing Wang wrote:

Hi Chris,
 Sorry for the delay reply. It seems like my reply last night was missed.

  From the sysinfo you provide, there are no pcie port devices under 
/sys/bus/pci_express/devices.
Maybe because there are some problems with _OSC in your laptop, so pcie port 
driver won't create pcie port device
for hotplug, aer and so on.

Maybe you can add boot parameter pcie_ports=native and reboot your laptop.
Then use #modprobe pciehp pciehp_force=1 pciehp_debug=1 to load pciehp modules.
After above actions, enter /sys/bus/pci_express/devices/ directory and 
/sys/bus/pci/slots/
Some slots and pcie port devices should be there now.


Sorry, I've tried your suggestion, but the two directories are still empty.

I verified the test environment as follows:

[chris:~]$ uname -a
Linux laptop 3.7.4 #15 SMP PREEMPT Mon Jan 28 09:43:57 GMT 2013 i686 GNU/Linux
[chris:~]$ grep acpiphp /boot/System.map-3.7.4
[chris:~]$ modinfo acpiphp
modinfo: ERROR: Module acpiphp not found.
[chris:~]$ modinfo pciehp
filename:   /lib/modules/3.7.4/kernel/drivers/pci/hotplug/pciehp.ko
license:GPL
description:PCI Express Hot Plug Controller Driver
author: Dan Zink dan.z...@compaq.com, Greg Kroah-Hartman g...@kroah.com, 
Dely Sy dely.l...@intel.com
depends:
intree: Y
vermagic:   3.7.4 SMP preempt mod_unload CORE2
parm:   pciehp_detect_mode:Slot detection mode: pcie, acpi, auto
   pcie  - Use PCIe based slot detection
   acpi  - Use ACPI for slot detection
   auto(default) - Auto select mode. Use acpi option if duplicate
   slot ids are found. Otherwise, use pcie option
  (charp)
parm:   pciehp_debug:Debugging mode enabled or not (bool)
parm:   pciehp_poll_mode:Using polling mechanism for hot-plug events or 
not (bool)
parm:   pciehp_poll_time:Polling mechanism frequency, in seconds (int)
parm:   pciehp_force:Force pciehp, even if OSHP is missing (bool)
[chris:~]$ cat /proc/cmdline
root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6
[chris:~]$ sudo modprobe pciehp pciehp_force=1 pciehp_debug=1
[chris:~]$ lsmod
Module  Size  Used by
pciehp 19907  0
[...]

You will notice that the kernel I have used is 3.7.4. I hope that's a suitable 
kernel for your tests. I've moved away from the 3.8 development kernel onto one 
that's stable and on which Martin has identified a solution. I see Greg KH 
released 3.7.5 yesterday and it includes a pciehp change. I'll upgrade to that, 
run the tests again and report back.

One question - should I include the (acpi) pci_slot driver in the kernel build 
or does pciehp populate the directories without pci_slot?


Hi Chris,
   I am not a kernel developer but from the other threads at linux-pci I 
gathered there are in some
scenarios problems with improper loading of the hotplug modules. Therefore, the 
patches floating
now around are to disable hotplug module availability. Therefore, I suggested 
you to try only
only static kernel support for hotplug. That way you don't hit the issue. That 
is for sure not
addressed in 3.7.5, seems that it is probably in -next.
Martin

In a few minutes I'll be sending out another reply to Yijing's 
suggestions because I noticed a typo in the parameter I added to the 
kernel command line. I'm now going back through email to remember why we 
were trying to get those /sys/bus/pci... directories populated.


Watch this space! :-)
Chris

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Yijing Wang
 Then use #modprobe pciehp pciehp_force=1 pciehp_debug=1 to load pciehp 
 modules.
 After above actions, enter /sys/bus/pci_express/devices/ directory and 
 /sys/bus/pci/slots/
 Some slots and pcie port devices should be there now.

 Sorry, I've tried your suggestion, but the two directories are still empty.
 
 I verified the test environment as follows:
 
 [chris:~]$ uname -a
 Linux laptop 3.7.4 #15 SMP PREEMPT Mon Jan 28 09:43:57 GMT 2013 i686 GNU/Linux
 [chris:~]$ grep acpiphp /boot/System.map-3.7.4
 [chris:~]$ modinfo acpiphp
 modinfo: ERROR: Module acpiphp not found.
 [chris:~]$ modinfo pciehp
 filename:   /lib/modules/3.7.4/kernel/drivers/pci/hotplug/pciehp.ko
 license:GPL
 description:PCI Express Hot Plug Controller Driver
 author: Dan Zink dan.z...@compaq.com, Greg Kroah-Hartman 
 g...@kroah.com, Dely Sy dely.l...@intel.com
 depends:
 intree: Y
 vermagic:   3.7.4 SMP preempt mod_unload CORE2
 parm:   pciehp_detect_mode:Slot detection mode: pcie, acpi, auto
   pcie  - Use PCIe based slot detection
   acpi  - Use ACPI for slot detection
   auto(default) - Auto select mode. Use acpi option if duplicate
   slot ids are found. Otherwise, use pcie option
  (charp)
 parm:   pciehp_debug:Debugging mode enabled or not (bool)
 parm:   pciehp_poll_mode:Using polling mechanism for hot-plug events 
 or not (bool)
 parm:   pciehp_poll_time:Polling mechanism frequency, in seconds (int)
 parm:   pciehp_force:Force pciehp, even if OSHP is missing (bool)
 [chris:~]$ cat /proc/cmdline
 root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6
 [chris:~]$ sudo modprobe pciehp pciehp_force=1 pciehp_debug=1
 [chris:~]$ lsmod
 Module  Size  Used by
 pciehp 19907  0
 [...]
 
 You will notice that the kernel I have used is 3.7.4. I hope that's a 
 suitable kernel for your tests. I've moved away from the 3.8 development 
 kernel onto one that's stable and on which Martin has identified a solution. 
 I see Greg KH released 3.7.5 yesterday and it includes a pciehp change. I'll 
 upgrade to that, run the tests again and report back.
 
 One question - should I include the (acpi) pci_slot driver in the kernel 
 build or does pciehp populate the directories without pci_slot?

Hi Chris,
   pci_slot driver is not necessary, I think empty directory under 
/sys/bus/pci_express/devices is the main problem,
Because no pcie port devices found in the system, so pciehp driver can not bind 
any devices when loading it.
Then no slot will created under /sys/bus/pci/devices/slots.

 
 Thanks again.
 
 /sys/bus/pci_express/devices:
 total 0

 /sys/bus/pci_express/drivers:
 total 0
 drwxr-xr-x 2 root root 0 Jan 27 13:17 pciehp/


 On 2013/1/28 6:53, Chris Clayton wrote:
 Thanks again, Martin.

 Firstly, maybe we should remove the linux-media list from the copy list. I 
 imagine this hotplug stuff is just noise to them.

 [snip]
 Do you have any other express card around to try if it works at all? Try 
 that always after a cold boot.

 Not at the moment, but I ordered at USB3 expresscard yesterday, so I will 
 have one soon.

 Posting a diff result of the below procedure might help:

 # lspci -vvvxxx  lspci.before_insertion.txt

 [plug your card into the slot]

 # lspci -vvvxxx  lspci.after_insertion.txt

 [ unplug your card]

 # lspci -vvvxxx  lspci.after_1st_removal.txt



-- 
Thanks!
Yijing

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Yijing Wang
On 2013/1/28 19:01, Chris Clayton wrote:
 [no one screamed, so linux-media ml dropped]
 
 Hi Martin,
 
 On 01/28/13 10:56, Martin Mokrejs wrote:


 Chris Clayton wrote:
 Hi Yijing,

 On 01/28/13 02:40, Yijing Wang wrote:
 Hi Chris,
  Sorry for the delay reply. It seems like my reply last night was 
 missed.

   From the sysinfo you provide, there are no pcie port devices under 
 /sys/bus/pci_express/devices.
 Maybe because there are some problems with _OSC in your laptop, so pcie 
 port driver won't create pcie port device
 for hotplug, aer and so on.

 Maybe you can add boot parameter pcie_ports=native and reboot your 
 laptop.
 Then use #modprobe pciehp pciehp_force=1 pciehp_debug=1 to load pciehp 
 modules.
 After above actions, enter /sys/bus/pci_express/devices/ directory and 
 /sys/bus/pci/slots/
 Some slots and pcie port devices should be there now.

 Sorry, I've tried your suggestion, but the two directories are still empty.

 I verified the test environment as follows:

 [chris:~]$ uname -a
 Linux laptop 3.7.4 #15 SMP PREEMPT Mon Jan 28 09:43:57 GMT 2013 i686 
 GNU/Linux
 [chris:~]$ grep acpiphp /boot/System.map-3.7.4
 [chris:~]$ modinfo acpiphp
 modinfo: ERROR: Module acpiphp not found.
 [chris:~]$ modinfo pciehp
 filename:   /lib/modules/3.7.4/kernel/drivers/pci/hotplug/pciehp.ko
 license:GPL
 description:PCI Express Hot Plug Controller Driver
 author: Dan Zink dan.z...@compaq.com, Greg Kroah-Hartman 
 g...@kroah.com, Dely Sy dely.l...@intel.com
 depends:
 intree: Y
 vermagic:   3.7.4 SMP preempt mod_unload CORE2
 parm:   pciehp_detect_mode:Slot detection mode: pcie, acpi, auto
pcie  - Use PCIe based slot detection
acpi  - Use ACPI for slot detection
auto(default) - Auto select mode. Use acpi option if duplicate
slot ids are found. Otherwise, use pcie option
   (charp)
 parm:   pciehp_debug:Debugging mode enabled or not (bool)
 parm:   pciehp_poll_mode:Using polling mechanism for hot-plug 
 events or not (bool)
 parm:   pciehp_poll_time:Polling mechanism frequency, in seconds 
 (int)
 parm:   pciehp_force:Force pciehp, even if OSHP is missing (bool)
 [chris:~]$ cat /proc/cmdline
 root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6

Oh, should pcie_ports=native not pciehp_ports=native.


 [chris:~]$ sudo modprobe pciehp pciehp_force=1 pciehp_debug=1
 [chris:~]$ lsmod
 Module  Size  Used by
 pciehp 19907  0
 [...]

 You will notice that the kernel I have used is 3.7.4. I hope that's a 
 suitable kernel for your tests. I've moved away from the 3.8 development 
 kernel onto one that's stable and on which Martin has identified a 
 solution. I see Greg KH released 3.7.5 yesterday and it includes a pciehp 
 change. I'll upgrade to that, run the tests again and report back.

 One question - should I include the (acpi) pci_slot driver in the kernel 
 build or does pciehp populate the directories without pci_slot?

 Hi Chris,
I am not a kernel developer but from the other threads at linux-pci I 
 gathered there are in some
 scenarios problems with improper loading of the hotplug modules. Therefore, 
 the patches floating
 now around are to disable hotplug module availability. Therefore, I 
 suggested you to try only
 only static kernel support for hotplug. That way you don't hit the issue. 
 That is for sure not
 addressed in 3.7.5, seems that it is probably in -next.
 Martin

 In a few minutes I'll be sending out another reply to Yijing's suggestions 
 because I noticed a typo in the parameter I added to the kernel command line. 
 I'm now going back through email to remember why we were trying to get those 
 /sys/bus/pci... directories populated.
 
 Watch this space! :-)
 Chris
 
 
 .
 


-- 
Thanks!
Yijing

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Chris Clayton


[snip]


[chris:~]$ cat /proc/cmdline
root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6

 ^^
  **typo**
I've run the test again with pcie_ports=native and the directories now 
get populated. Even better though, is that when I plug in the card, 
hotplug **works** and the card's drivers are loaded.


Excellent! Thank you so much for your help (and patience) Martin and Yijing.

Now to solving why running scandvb doesn't find any TV channels.

Chris

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Martin Mokrejs
Chris Clayton wrote:
 
 [snip]
 
 [chris:~]$ cat /proc/cmdline
 root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6
  ^^
   **typo**
 I've run the test again with pcie_ports=native and the directories now get 
 populated. Even better though, is that when I plug in the card, hotplug 
 **works** and the card's drivers are loaded.

BTW, I have with acpiphp on 3.7.4:

ls -la /sys/bus/pci_express/devices
total 0
drwxr-xr-x 2 root root 0 Jan 28 13:07 .
drwxr-xr-x 4 root root 0 Jan 28 13:07 ..
$ ls -la /sys/bus/pci/devices/slots
ls: cannot access /sys/bus/pci/devices/slots: No such file or directory
$

And for me hotplug also works (as far as I can tell). ;-)

 
 Excellent! Thank you so much for your help (and patience) Martin and Yijing.
 
 Now to solving why running scandvb doesn't find any TV channels.

Would be fine if you could re-do the PresDet checks and confirm whether it is 
also broken
for you under pciehp.

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Yijing Wang
On 2013/1/28 20:12, Martin Mokrejs wrote:
 Chris Clayton wrote:

 [snip]

 [chris:~]$ cat /proc/cmdline
 root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6
  ^^
   **typo**
 I've run the test again with pcie_ports=native and the directories now get 
 populated. Even better though, is that when I plug in the card, hotplug 
 **works** and the card's drivers are loaded.
 
 BTW, I have with acpiphp on 3.7.4:
 
 ls -la /sys/bus/pci_express/devices
 total 0
 drwxr-xr-x 2 root root 0 Jan 28 13:07 .
 drwxr-xr-x 4 root root 0 Jan 28 13:07 ..
 $ ls -la /sys/bus/pci/devices/slots
 ls: cannot access /sys/bus/pci/devices/slots: No such file or directory
 $
 
 And for me hotplug also works (as far as I can tell). ;-)

Right, only pciehp (pcie nativa hotplug) need to bind pcie port devices.

Acpiphp (acpi pci hotplug) don't need pcie port devices, it just depend the 
firmware
in your machine, also acpiphp can support both pci hotplug and pcie hotplug. 
pciehp only
support pcie device hotplug.

 

 Excellent! Thank you so much for your help (and patience) Martin and Yijing.

 Now to solving why running scandvb doesn't find any TV channels.
 
 Would be fine if you could re-do the PresDet checks and confirm whether it is 
 also broken
 for you under pciehp.
 
 Martin
 
 


-- 
Thanks!
Yijing

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Chris Clayton

Hi Martin,

On 01/28/13 12:12, Martin Mokrejs wrote:

Chris Clayton wrote:


[snip]


[chris:~]$ cat /proc/cmdline
root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6

  ^^
   **typo**
I've run the test again with pcie_ports=native and the directories now get 
populated. Even better though, is that when I plug in the card, hotplug 
**works** and the card's drivers are loaded.


BTW, I have with acpiphp on 3.7.4:

ls -la /sys/bus/pci_express/devices
total 0
drwxr-xr-x 2 root root 0 Jan 28 13:07 .
drwxr-xr-x 4 root root 0 Jan 28 13:07 ..
$ ls -la /sys/bus/pci/devices/slots

   
**typo**
It should be /sys/bus/pci/slots.


ls: cannot access /sys/bus/pci/devices/slots: No such file or directory
$

With acpiphp, I get /sys/bus/pci_express/devices populated but 
/sys/bus/pci/slots is empty.



And for me hotplug also works (as far as I can tell). ;-)



Excellent! Thank you so much for your help (and patience) Martin and Yijing.

Now to solving why running scandvb doesn't find any TV channels.


Would be fine if you could re-do the PresDet checks and confirm whether it is 
also broken
for you under pciehp.
I've struggled with this a little. For some reason, the expresscard 
doesn't always stay properly inserted in the slot when I insert it. Now 
that hotplug is working, the modules are being loaded and when the card 
pops out again, I get an oops because, of course, the driver is running 
and the card disappears. Perhaps the driver can be made a bit more 
robust to sudden disappearance of the card. I'll report the oops later. 
Anyway, to run these tests I built a kernel without the dvb card's 
drivers, effectively simulating the situation I had before Yijing got 
hotplug working for me. The card popping out may also have affected 
these diffs a bit because, for example, the first one has the CorrErr 
flag changed, possibly because I had to have two or more goes at getting 
the card to lock in the slot. Yesterday that diff showed no changes. 
Anyway, here are the diffs:


diff lspci.after_insertion.txt lspci.after_1st_re-insertion.txt
262c262
   DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
TransPend-

---
   DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- 
AuxPwr+ TransPend-

295c295
 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 3c 12 04
---
 40: 10 80 42 01 00 80 00 00 00 00 11 00 12 3c 12 04


diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt

no difference

=
diff lspci.before_insertion.txt lspci.after_1st_removal.txt
112c112
 60: 20 20 ff 07 00 00 00 00 01 00 00 00 00 00 08 c0
---
 60: 20 20 ff 07 00 00 00 00 01 00 00 00 00 00 00 c0
262,263c262,263
   DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
TransPend-
   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, 
Latency L0 1us, L1 16us

---
   DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- 
AuxPwr+ TransPend-
   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, 
Latency L0 512ns, L1 16us

265c265
   LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- 
Retrain- CommClk-

---
   LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
CommClk+

267c267
   LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ 
DLActive- BWMgmt- ABWMgmt-

---
   LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ 
DLActive- BWMgmt+ ABWMgmt-

273c273
   Changed: MRL- PresDet- LinkState-
---
   Changed: MRL- PresDet- LinkState+
295,296c295,296
 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 4c 12 04
 50: 03 00 01 10 60 b2 1c 00 28 00 00 00 00 00 00 00
---
 40: 10 80 42 01 00 80 00 00 00 00 11 00 12 3c 12 04
 50: 40 00 11 50 60 b2 1c 00 28 00 00 01 00 00 00 00

===
diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt

no difference


diff lspci.before_insertion.txt lspci.after_insertion.txt
112c112
 60: 20 20 ff 07 00 00 00 00 01 00 00 00 00 00 08 c0
---
 60: 20 20 ff 07 00 00 00 00 01 00 00 00 00 00 00 c0
263c263
   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, 
Latency L0 1us, L1 16us

---
   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, 
Latency L0 512ns, L1 16us

265c265
   LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- 
Retrain- CommClk-

---
   LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
CommClk+

267c267
   LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ 
DLActive- BWMgmt- ABWMgmt-

---
   LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ 
DLActive+ BWMgmt+ ABWMgmt-

272,273c272,273
   SltSta: Status: AttnBtn- PowerFlt- MRL- 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-28 Thread Martin Mokrejs
Hi Chris,

Chris Clayton wrote:
 Hi Martin,
 
 On 01/28/13 12:12, Martin Mokrejs wrote:
 Chris Clayton wrote:

 [snip]

 [chris:~]$ cat /proc/cmdline
 root=/dev/sda5 pciehp_ports=native ro resume=/dev/sda6
   ^^
**typo**
 I've run the test again with pcie_ports=native and the directories now get 
 populated. Even better though, is that when I plug in the card, hotplug 
 **works** and the card's drivers are loaded.

 BTW, I have with acpiphp on 3.7.4:

 ls -la /sys/bus/pci_express/devices
 total 0
 drwxr-xr-x 2 root root 0 Jan 28 13:07 .
 drwxr-xr-x 4 root root 0 Jan 28 13:07 ..
 $ ls -la /sys/bus/pci/devices/slots

 **typo**
 It should be /sys/bus/pci/slots.
 
 ls: cannot access /sys/bus/pci/devices/slots: No such file or directory
 $

 With acpiphp, I get /sys/bus/pci_express/devices populated but 
 /sys/bus/pci/slots is empty.

OK, I haven't realized the typo, but I have here with acpiphp:

# ls -laR /sys/bus/pci/slots
/sys/bus/pci/slots:
total 0
drwxr-xr-x 3 root root 0 Jan 27 17:14 .
drwxr-xr-x 5 root root 0 Jan 25 15:56 ..
drwxr-xr-x 2 root root 0 Jan 27 17:14 1

/sys/bus/pci/slots/1:
total 0
drwxr-xr-x 2 root root0 Jan 27 17:14 .
drwxr-xr-x 3 root root0 Jan 27 17:14 ..
-r--r--r-- 1 root root 4096 Jan 28 21:31 adapter
-r--r--r-- 1 root root 4096 Jan 27 17:14 address
-rw-r--r-- 1 root root 4096 Jan 28 21:31 attention
-r--r--r-- 1 root root 4096 Jan 28 21:31 cur_bus_speed
-r--r--r-- 1 root root 4096 Jan 28 21:31 latch
-r--r--r-- 1 root root 4096 Jan 28 21:31 max_bus_speed
lrwxrwxrwx 1 root root0 Jan 28 21:31 module - ../../../../module/acpiphp
-rw-r--r-- 1 root root 4096 Jan 28 21:31 power
#

 
 And for me hotplug also works (as far as I can tell). ;-)


 Excellent! Thank you so much for your help (and patience) Martin and Yijing.

 Now to solving why running scandvb doesn't find any TV channels.

 Would be fine if you could re-do the PresDet checks and confirm whether it 
 is also broken
 for you under pciehp.

 I've struggled with this a little. For some reason, the expresscard
 doesn't always stay properly inserted in the slot when I insert it.
 Now that hotplug is working, the modules are being loaded and when
 the card pops out again, I get an oops because, of course, the driver
 is running and the card disappears. Perhaps the driver can be made a
 bit more robust to sudden disappearance of the card. I'll report the

Yes, I had or maybe still have same issues here. I used to get an Oops
for sata_sil24 card weird behavior for USB3.0 NEC-based card. It was
fine always for a VIA-based firewire card and serial PL2303-based one.
I found out it is better if a usb device is connected to the USB card
because if that slips out then the libata layer quickly realizes that.
If there was no device connected, the usb waits too long before it removes
the usb hub from the system. And if you plugin the card meanwhile
back into the slot, weird thing happen.


 oops later. Anyway, to run these tests I built a kernel without the
 dvb card's drivers, effectively simulating the situation I had before
 Yijing got hotplug working for me. The card popping out may also have
 affected these diffs a bit because, for example, the first one has
 the CorrErr flag changed, possibly because I had to have two or more
 goes at getting the card to lock in the slot. Yesterday that diff
 showed no changes. Anyway, here are the diffs:
 
 diff lspci.after_insertion.txt lspci.after_1st_re-insertion.txt
 262c262
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
 TransPend-
 ---
   DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
 TransPend-
 295c295
  40: 10 80 42 01 00 80 00 00 00 00 10 00 12 3c 12 04
 ---
 40: 10 80 42 01 00 80 00 00 00 00 11 00 12 3c 12 04
 
 
 diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt
 
 no difference

BTW, with the NEC-based card only after every second removal of the card I got
into PresDet- state. So, on every other diff attempt you won't see a difference!
But we are talking about acpiphp here (unlike pciehp) and with that I also 
have no problems.

 
 =
 diff lspci.before_insertion.txt lspci.after_1st_removal.txt
 112c112
  60: 20 20 ff 07 00 00 00 00 01 00 00 00 00 00 08 c0
 ---
 60: 20 20 ff 07 00 00 00 00 01 00 00 00 00 00 00 c0
 262,263c262,263
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
 TransPend-
LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
 L0 1us, L1 16us
 ---
   DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
 TransPend-
   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
 L0 512ns, L1 16us
 265c265
LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- 
 CommClk-
 ---
   

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Yijing Wang
Hi Chris,
   Sorry for the delay reply. It seems like my reply last night was missed.

>From the sysinfo you provide, there are no pcie port devices under 
>/sys/bus/pci_express/devices.
Maybe because there are some problems with _OSC in your laptop, so pcie port 
driver won't create pcie port device
for hotplug, aer and so on.

Maybe you can add boot parameter "pcie_ports=native" and reboot your laptop.
Then use #modprobe pciehp pciehp_force=1 pciehp_debug=1 to load pciehp modules.
After above actions, enter /sys/bus/pci_express/devices/ directory and 
/sys/bus/pci/slots/
Some slots and pcie port devices should be there now.

/sys/bus/pci_express/devices:
total 0

/sys/bus/pci_express/drivers:
total 0
drwxr-xr-x 2 root root 0 Jan 27 13:17 pciehp/


On 2013/1/28 6:53, Chris Clayton wrote:
> Thanks again, Martin.
> 
> Firstly, maybe we should remove the linux-media list from the copy list. I 
> imagine this hotplug stuff is just noise to them.
> 
> [snip]
>> Do you have any other express card around to try if it works at all? Try 
>> that always after a cold boot.
>>
> Not at the moment, but I ordered at USB3 expresscard yesterday, so I will 
> have one soon.
> 
>> Posting a diff result of the below procedure might help:
>>
>> # lspci -vvvxxx > lspci.before_insertion.txt
>>
>> [plug your card into the slot]
>>
>> # lspci -vvvxxx > lspci.after_insertion.txt
>>
>> [ unplug your card]
>>
>> # lspci -vvvxxx > lspci.after_1st_removal.txt
>>
>> [re-plug your card into the slot]
>>
>> # lspci -vvvxxx > lspci.after_1st_re-insertion.txt
>>
>> [ unplug your card]
>>
>> # lspci -vvvxxx > lspci.after_2nd_removal.txt
>>
> 
> OK, I've been using kernel 3.8.0-rc kernels so far, but given that is still 
> under development, I've switched to 3.7.4, mainly because you are having 
> success with 3.7.x, acpiphp and pcie_aspm=off. I verified the environment as 
> follows:
> 
> [chris:~]$ cat /proc/cmdline
> root=/dev/sda5 pcie_aspm=off ro resume=/dev/sda6
> [chris:~]$ dmesg | grep ASPM
> [0.00] PCIe ASPM is disabled
> [0.348959]  pci:00: ACPI _OSC support notification failed, disabling 
> PCIe ASPM
> [chris:~]$ dmesg | grep acpiphp
> [0.400846] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
> [chris:~]$ dmesg | grep pciehp
> [chris:~]$ uname -a
> Linux laptop 3.7.4 #13 SMP PREEMPT Sun Jan 27 18:39:39 GMT 2013 i686 GNU/Linux
> 
> 
>> Then compare them using diff. These should have no difference:
>>
>> diff lspci.after_insertion.txt lspci.after_1st_re-insertion.txt
>> diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt
>>
> Correct, there were no differences.
> 
>>
>> These may have only little difference, or none:
>>
>> diff lspci.before_insertion.txt lspci.after_1st_removal.txt
> 
> 263c263
> <   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
> L0 <1us, L1 <16us
> ---
>  >   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
> L0 <512ns, L1 <16us
> 265c265
> <   LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- 
> CommClk-
> ---
>  >   LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
> CommClk+
> 267c267
> <   LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ 
> DLActive- BWMgmt- ABWMgmt-
> ---
>  >   LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ 
> DLActive- BWMgmt+ ABWMgmt-
> 273c273
> <   Changed: MRL- PresDet- LinkState-
> ---
>  >   Changed: MRL- PresDet- LinkState+
> 295,296c295,296
> < 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 4c 12 04
> < 50: 03 00 01 10 60 b2 1c 00 08 00 00 00 00 00 00 00
> ---
>  > 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 3c 12 04
>  > 50: 40 00 11 50 60 b2 1c 00 08 00 00 01 00 00 00 00
> 
>> diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt
>>
> No difference.
>>
>>
>> Finally, these should confirm whether the PresDet works for you (for me NOT 
>> with pciehp but does work with acpiphp).
>> You should see PresDet- to PresDet+ changes in:
>>
> Yes, I do see the PresDet- to PresDet+ changes
> 
>> diff lspci.before_insertion.txt lspci.after_insertion.txt
> 
> 263c263
> <   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
> L0 <1us, L1 <16us
> ---
>  >   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
> L0 <512ns, L1 <16us
> 265c265
> <   LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- 
> CommClk-
> ---
>  >   LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
> CommClk+
> 267c267
> <   LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ 
> DLActive- BWMgmt- ABWMgmt-
> ---
>  >   LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ 
> DLActive+ BWMgmt+ ABWMgmt-
> 272,273c272,273
> <   SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet- 
> Interlock-
> <   Changed: MRL- PresDet- LinkState-
> ---
>  >   SltSta: 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Martin Mokrejs
Hi Chris,

Chris Clayton wrote:
> Thanks again, Martin.
> 
> Firstly, maybe we should remove the linux-media list from the copy list. I 
> imagine this hotplug stuff is just noise to them.
> 
> [snip]
>> Do you have any other express card around to try if it works at all? Try 
>> that always after a cold boot.
>>
> Not at the moment, but I ordered at USB3 expresscard yesterday, so I will 
> have one soon.
> 
>> Posting a diff result of the below procedure might help:
>>
>> # lspci -vvvxxx > lspci.before_insertion.txt
>>
>> [plug your card into the slot]
>>
>> # lspci -vvvxxx > lspci.after_insertion.txt
>>
>> [ unplug your card]
>>
>> # lspci -vvvxxx > lspci.after_1st_removal.txt
>>
>> [re-plug your card into the slot]
>>
>> # lspci -vvvxxx > lspci.after_1st_re-insertion.txt
>>
>> [ unplug your card]
>>
>> # lspci -vvvxxx > lspci.after_2nd_removal.txt
>>
> 
> OK, I've been using kernel 3.8.0-rc kernels so far, but given that is still 
> under development, I've switched to 3.7.4, mainly because you are having 
> success with 3.7.x, acpiphp and pcie_aspm=off. I verified the environment as 
> follows:
> 
> [chris:~]$ cat /proc/cmdline
> root=/dev/sda5 pcie_aspm=off ro resume=/dev/sda6
> [chris:~]$ dmesg | grep ASPM
> [0.00] PCIe ASPM is disabled
> [0.348959]  pci:00: ACPI _OSC support notification failed, disabling 
> PCIe ASPM
> [chris:~]$ dmesg | grep acpiphp
> [0.400846] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
> [chris:~]$ dmesg | grep pciehp
> [chris:~]$ uname -a
> Linux laptop 3.7.4 #13 SMP PREEMPT Sun Jan 27 18:39:39 GMT 2013 i686 GNU/Linux
> 

vostro ~ # cat /proc/cmdline
root=/dev/sda5 pciehp.pciehp_debug=1 slub_debug=AFPZ pcie_aspm=off
vostro ~ # dmesg | grep ASPM
[0.00] PCIe ASPM is disabled
vostro ~ # dmesg | grep acpiphp
[2.449038] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[2.453757] acpiphp: Slot [1] registered
vostro ~ # uname -a
Linux vostro 3.7.4-default #2 SMP Mon Jan 21 22:45:22 MET 2013 x86_64 Intel(R) 
Core(TM) i7-2640M CPU @ 2.80GHz GenuineIntel GNU/Linux
vostro ~ # 

> 
>> Then compare them using diff. These should have no difference:
>>
>> diff lspci.after_insertion.txt lspci.after_1st_re-insertion.txt
>> diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt
>>
> Correct, there were no differences.
> 
>>
>> These may have only little difference, or none:
>>
>> diff lspci.before_insertion.txt lspci.after_1st_removal.txt
> 
> 263c263
> <   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
> L0 <1us, L1 <16us
> ---
>  >   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
> L0 <512ns, L1 <16us
> 265c265
> <   LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- 
> CommClk-
> ---
>  >   LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
> CommClk+
> 267c267
> <   LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ 
> DLActive- BWMgmt- ABWMgmt-
> ---
>  >   LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ 
> DLActive- BWMgmt+ ABWMgmt-
> 273c273
> <   Changed: MRL- PresDet- LinkState-
> ---
>  >   Changed: MRL- PresDet- LinkState+
> 295,296c295,296
> < 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 4c 12 04
> < 50: 03 00 01 10 60 b2 1c 00 08 00 00 00 00 00 00 00
> ---
>  > 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 3c 12 04
>  > 50: 40 00 11 50 60 b2 1c 00 08 00 00 01 00 00 00 00
> 
>> diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt
>>
> No difference.
>>
>>
>> Finally, these should confirm whether the PresDet works for you (for me NOT 
>> with pciehp but does work with acpiphp).
>> You should see PresDet- to PresDet+ changes in:
>>
> Yes, I do see the PresDet- to PresDet+ changes
> 
>> diff lspci.before_insertion.txt lspci.after_insertion.txt
> 
> 263c263
> <   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
> L0 <1us, L1 <16us
> ---
>  >   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
> L0 <512ns, L1 <16us
> 265c265
> <   LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- 
> CommClk-
> ---
>  >   LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
> CommClk+
> 267c267
> <   LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ 
> DLActive- BWMgmt- ABWMgmt-
> ---
>  >   LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ 
> DLActive+ BWMgmt+ ABWMgmt-
> 272,273c272,273
> <   SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet- 
> Interlock-
> <   Changed: MRL- PresDet- LinkState-
> ---
>  >   SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ 
> Interlock-
>  >   Changed: MRL- PresDet- LinkState+
> 295,296c295,296
> < 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 4c 12 04
> < 50: 03 00 01 10 60 b2 1c 00 08 00 00 00 00 00 00 00
> ---
>  > 40: 10 80 42 01 00 80 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Chris Clayton

Thanks again, Martin.

Firstly, maybe we should remove the linux-media list from the copy list. 
I imagine this hotplug stuff is just noise to them.


[snip]

Do you have any other express card around to try if it works at all? Try that 
always after a cold boot.

Not at the moment, but I ordered at USB3 expresscard yesterday, so I 
will have one soon.



Posting a diff result of the below procedure might help:

# lspci -vvvxxx > lspci.before_insertion.txt

[plug your card into the slot]

# lspci -vvvxxx > lspci.after_insertion.txt

[ unplug your card]

# lspci -vvvxxx > lspci.after_1st_removal.txt

[re-plug your card into the slot]

# lspci -vvvxxx > lspci.after_1st_re-insertion.txt

[ unplug your card]

# lspci -vvvxxx > lspci.after_2nd_removal.txt



OK, I've been using kernel 3.8.0-rc kernels so far, but given that is 
still under development, I've switched to 3.7.4, mainly because you are 
having success with 3.7.x, acpiphp and pcie_aspm=off. I verified the 
environment as follows:


[chris:~]$ cat /proc/cmdline
root=/dev/sda5 pcie_aspm=off ro resume=/dev/sda6
[chris:~]$ dmesg | grep ASPM
[0.00] PCIe ASPM is disabled
[0.348959]  pci:00: ACPI _OSC support notification failed, 
disabling PCIe ASPM

[chris:~]$ dmesg | grep acpiphp
[0.400846] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[chris:~]$ dmesg | grep pciehp
[chris:~]$ uname -a
Linux laptop 3.7.4 #13 SMP PREEMPT Sun Jan 27 18:39:39 GMT 2013 i686 
GNU/Linux




Then compare them using diff. These should have no difference:

diff lspci.after_insertion.txt lspci.after_1st_re-insertion.txt
diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt


Correct, there were no differences.



These may have only little difference, or none:

diff lspci.before_insertion.txt lspci.after_1st_removal.txt


263c263
<   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, 
Latency L0 <1us, L1 <16us

---
 >   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, 
Latency L0 <512ns, L1 <16us

265c265
<   LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- 
Retrain- CommClk-

---
 >   LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
CommClk+

267c267
<   LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ 
DLActive- BWMgmt- ABWMgmt-

---
 >   LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- 
SlotClk+ DLActive- BWMgmt+ ABWMgmt-

273c273
<   Changed: MRL- PresDet- LinkState-
---
 >   Changed: MRL- PresDet- LinkState+
295,296c295,296
< 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 4c 12 04
< 50: 03 00 01 10 60 b2 1c 00 08 00 00 00 00 00 00 00
---
 > 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 3c 12 04
 > 50: 40 00 11 50 60 b2 1c 00 08 00 00 01 00 00 00 00


diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt


No difference.



Finally, these should confirm whether the PresDet works for you (for me NOT 
with pciehp but does work with acpiphp).
You should see PresDet- to PresDet+ changes in:


Yes, I do see the PresDet- to PresDet+ changes


diff lspci.before_insertion.txt lspci.after_insertion.txt


263c263
<   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, 
Latency L0 <1us, L1 <16us

---
 >   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, 
Latency L0 <512ns, L1 <16us

265c265
<   LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- 
Retrain- CommClk-

---
 >   LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
CommClk+

267c267
<   LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ 
DLActive- BWMgmt- ABWMgmt-

---
 >   LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- 
SlotClk+ DLActive+ BWMgmt+ ABWMgmt-

272,273c272,273
<   SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- 
PresDet- Interlock-

<   Changed: MRL- PresDet- LinkState-
---
 >   SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- 
PresDet+ Interlock-

 >   Changed: MRL- PresDet- LinkState+
295,296c295,296
< 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 4c 12 04
< 50: 03 00 01 10 60 b2 1c 00 08 00 00 00 00 00 00 00
---
 > 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 3c 12 04
 > 50: 40 00 11 70 60 b2 1c 00 08 00 40 01 00 00 00 00


diff lspci.after_1st_removal.txt lspci.after_1st_re-insertion.txt

267c267
<   LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ 
DLActive- BWMgmt+ ABWMgmt-

---
 >   LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- 
SlotClk+ DLActive+ BWMgmt+ ABWMgmt-

272c272
<   SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- 
PresDet- Interlock-

---
 >   SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- 
PresDet+ Interlock-

296c296
< 50: 40 00 11 50 60 b2 1c 00 08 00 00 01 00 00 00 00
---
 > 50: 40 00 11 70 60 b2 1c 00 08 00 40 01 00 00 00 00



You should see PresDet+ to PresDet- changes in:

Yes, I see those changes too.

diff 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Martin Mokrejs
Chris Clayton wrote:
> 
> 
> On 01/27/13 14:26, Martin Mokrejs wrote:
>> Chris Clayton wrote:
>>>
>>>
>>> On 01/27/13 12:18, Yijing Wang wrote:
 于 2013-01-27 19:19, Chris Clayton 写道:
> Hi Yijing
>
> On 01/27/13 02:45, Yijing Wang wrote:
>> 于 2013-01-27 4:54, Chris Clayton 写道:
>>> Hi Martin,
>>>
>>> On 01/24/13 19:21, Martin Mokrejs wrote:
 Hi Chris,
   try to include in kernel only acpiphp and omit pciehp. Don't use 
 modules but include
 them statically. And try, in addition, check whether "pcie_aspm=off" 
 in grub.conf helped.

>>>
>>> Thanks for the tip. I had the pciehp driver installed, but it was a 
>>> module and not loaded. I didn't have acpiphp enabled at all. Building 
>>> them both in statically, appears to have papered over the cracks of the 
>>> oops :-)
>>
>> Not loaded pciehp driver? Remove the device from this slot without 
>> poweroff ?
>>
>
> That's correct. When I first encountered the oops, I did not have the 
> pciehp driver loaded and removing the device from the slot whilst the 
> laptop was powered on resulted in the oops.

 Hmm, that's unsafe and dangerous, because device now may be running.
 There are two ways to trigger pci hot-add or hot-remove in linux, after 
 loaded pciehp or acpiphp module
 (the two modules only one can loaded into system at the same time). You 
 can trigger hot-add/hot-remove by
 sysfs interface under /sys/bus/pci/slots/[slot-name]/power or attention 
 button on hardware (if your laptop supports that).

>>>
>>> OK, thanks for the advice.
>>>
>>>
   The best would if you subscribe to linux-pci, and read my recent 
 threads
 about similar issues I had with express cards with Dell Vostro 3550. 
 Further, there is
 a lot of changes to PCI hotplug done by Yingahi Liu and Rafael 
 Wysockij, just browse the
 archives of linux-pci and see the pacthes and the discussion.
>>>
>>> Those discussions are way above my level of knowledge. I guess all this 
>>> work will be merged into mainline in due course, so I'll watch for them 
>>> in 3.9 or later. Unless, of course, there is a tree I could clone and 
>>> help test the changes with my laptop and expresscard.
>>>
>>> Hotplug isn't working at all on my Fujitsu laptop, so I can only get 
>>> the card recognised by rebooting with the card inserted (or by writing 
>>> 1 to/sys/bus/pci/rescan). There seem to be a few reports on this in the 
>>> kernel bugzilla, so I'll look through them and see what's being done.
>>
>> Hi Chris,
>>   What about use #modprobe pciehp pciehp_debug=1 pciehp_poll_mode=1 
>> pciehp_poll_time=1 ?
>>
>> Can you resend the dmesg log and "lspci -vvv" info after hotplug device 
>> from your Fujitsu laptop with above module parameters?
>>
>
> I wasn't sure whether or not the pciehp driver should be loaded on its 
> own or with the acpiphp driver also loaded. So I built them both as 
> modules and planned to try both, pciehp only and acpiphp only. However, 
> I've found that acpiphp will not load (regardless of whether or not 
> pciehp is already loaded). What I get is:
>
> [chris:~]$ sudo modprobe acpiphp debug=1
> modprobe: ERROR: could not insert 'acpiphp': No such device
>>
>> Are you sure you had pciehp already loaded?
>>
> Yes, I'm sure it was.

Ah, sorry, wanted to say "Are you sure you had NOT pciehp already loaded 
(loaded before)?". If you retry without loading it ever you might succeed with 
acpiphp.

>

 Currently, If your hardware support pciehp native hotplug, acpiphp driver 
 will be rejected when loading it in system
 (you can force loading it by add boot parameter pcie_aspm=off as Martin 
 said).

>>>
>>> OK, thanks again for the advice. I've disabled the acpiphp driver.
>>
>> Pitty. For me only with acpiphp works detection of express card in the slot. 
>> With pciehp
>> the PresDet is not updated properly upon removal/insertion and sometimes, 
>> probably as a result
>> of the previous, PresDet on the SltSta: line of lspci is not correct. So I 
>> moved away from pciehp.
>> I have a SandyBridge based laptop so I was hoping with your i5-based laptop 
>> you have also great
>> chance to get rid of pciehp issues.
>>
> 
> I've just (very carefully) set this up again (i.e. no pciehp driver (module 
> or builtin), acpiphp driver built in and pcie_aspm=off on the kernel command 
> line (via grub). My card is not detected on insertion. :-(

Do you have any other express card around to try if it works at all? Try that 
always after a cold boot.

Posting a diff result of the below procedure might help:

# lspci -vvvxxx > lspci.before_insertion.txt

[plug your card into the slot]

# lspci -vvvxxx > lspci.after_insertion.txt

[ 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Chris Clayton



On 01/27/13 14:26, Martin Mokrejs wrote:

Chris Clayton wrote:



On 01/27/13 12:18, Yijing Wang wrote:

于 2013-01-27 19:19, Chris Clayton 写道:

Hi Yijing

On 01/27/13 02:45, Yijing Wang wrote:

于 2013-01-27 4:54, Chris Clayton 写道:

Hi Martin,

On 01/24/13 19:21, Martin Mokrejs wrote:

Hi Chris,
  try to include in kernel only acpiphp and omit pciehp. Don't use modules 
but include
them statically. And try, in addition, check whether "pcie_aspm=off" in 
grub.conf helped.



Thanks for the tip. I had the pciehp driver installed, but it was a module and 
not loaded. I didn't have acpiphp enabled at all. Building them both in 
statically, appears to have papered over the cracks of the oops :-)


Not loaded pciehp driver? Remove the device from this slot without poweroff ?



That's correct. When I first encountered the oops, I did not have the pciehp 
driver loaded and removing the device from the slot whilst the laptop was 
powered on resulted in the oops.


Hmm, that's unsafe and dangerous, because device now may be running.
There are two ways to trigger pci hot-add or hot-remove in linux, after loaded 
pciehp or acpiphp module
(the two modules only one can loaded into system at the same time). You can 
trigger hot-add/hot-remove by
sysfs interface under /sys/bus/pci/slots/[slot-name]/power or attention button 
on hardware (if your laptop supports that).



OK, thanks for the advice.




  The best would if you subscribe to linux-pci, and read my recent threads
about similar issues I had with express cards with Dell Vostro 3550. Further, 
there is
a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, just 
browse the
archives of linux-pci and see the pacthes and the discussion.


Those discussions are way above my level of knowledge. I guess all this work 
will be merged into mainline in due course, so I'll watch for them in 3.9 or 
later. Unless, of course, there is a tree I could clone and help test the 
changes with my laptop and expresscard.

Hotplug isn't working at all on my Fujitsu laptop, so I can only get the card 
recognised by rebooting with the card inserted (or by writing 1 
to/sys/bus/pci/rescan). There seem to be a few reports on this in the kernel 
bugzilla, so I'll look through them and see what's being done.


Hi Chris,
  What about use #modprobe pciehp pciehp_debug=1 pciehp_poll_mode=1 
pciehp_poll_time=1 ?

Can you resend the dmesg log and "lspci -vvv" info after hotplug device from 
your Fujitsu laptop with above module parameters?



I wasn't sure whether or not the pciehp driver should be loaded on its own or 
with the acpiphp driver also loaded. So I built them both as modules and 
planned to try both, pciehp only and acpiphp only. However, I've found that 
acpiphp will not load (regardless of whether or not pciehp is already loaded). 
What I get is:

[chris:~]$ sudo modprobe acpiphp debug=1
modprobe: ERROR: could not insert 'acpiphp': No such device


Are you sure you had pciehp already loaded?


Yes, I'm sure it was.




Currently, If your hardware support pciehp native hotplug, acpiphp driver will 
be rejected when loading it in system
(you can force loading it by add boot parameter pcie_aspm=off as Martin said).



OK, thanks again for the advice. I've disabled the acpiphp driver.


Pitty. For me only with acpiphp works detection of express card in the slot. 
With pciehp
the PresDet is not updated properly upon removal/insertion and sometimes, 
probably as a result
of the previous, PresDet on the SltSta: line of lspci is not correct. So I 
moved away from pciehp.
I have a SandyBridge based laptop so I was hoping with your i5-based laptop you 
have also great
chance to get rid of pciehp issues.



I've just (very carefully) set this up again (i.e. no pciehp driver 
(module or builtin), acpiphp driver built in and pcie_aspm=off on the 
kernel command line (via grub). My card is not detected on insertion. :-(


Thanks for your suggestions, Martin. I am grateful.

Chris

Martin


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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Martin Mokrejs
Chris Clayton wrote:
> 
> 
> On 01/27/13 12:18, Yijing Wang wrote:
>> 于 2013-01-27 19:19, Chris Clayton 写道:
>>> Hi Yijing
>>>
>>> On 01/27/13 02:45, Yijing Wang wrote:
 于 2013-01-27 4:54, Chris Clayton 写道:
> Hi Martin,
>
> On 01/24/13 19:21, Martin Mokrejs wrote:
>> Hi Chris,
>>  try to include in kernel only acpiphp and omit pciehp. Don't use 
>> modules but include
>> them statically. And try, in addition, check whether "pcie_aspm=off" in 
>> grub.conf helped.
>>
>
> Thanks for the tip. I had the pciehp driver installed, but it was a 
> module and not loaded. I didn't have acpiphp enabled at all. Building 
> them both in statically, appears to have papered over the cracks of the 
> oops :-)

 Not loaded pciehp driver? Remove the device from this slot without 
 poweroff ?

>>>
>>> That's correct. When I first encountered the oops, I did not have the 
>>> pciehp driver loaded and removing the device from the slot whilst the 
>>> laptop was powered on resulted in the oops.
>>
>> Hmm, that's unsafe and dangerous, because device now may be running.
>> There are two ways to trigger pci hot-add or hot-remove in linux, after 
>> loaded pciehp or acpiphp module
>> (the two modules only one can loaded into system at the same time). You can 
>> trigger hot-add/hot-remove by
>> sysfs interface under /sys/bus/pci/slots/[slot-name]/power or attention 
>> button on hardware (if your laptop supports that).
>>
> 
> OK, thanks for the advice.
> 
>
>>  The best would if you subscribe to linux-pci, and read my recent 
>> threads
>> about similar issues I had with express cards with Dell Vostro 3550. 
>> Further, there is
>> a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, 
>> just browse the
>> archives of linux-pci and see the pacthes and the discussion.
>
> Those discussions are way above my level of knowledge. I guess all this 
> work will be merged into mainline in due course, so I'll watch for them 
> in 3.9 or later. Unless, of course, there is a tree I could clone and 
> help test the changes with my laptop and expresscard.
>
> Hotplug isn't working at all on my Fujitsu laptop, so I can only get the 
> card recognised by rebooting with the card inserted (or by writing 1 
> to/sys/bus/pci/rescan). There seem to be a few reports on this in the 
> kernel bugzilla, so I'll look through them and see what's being done.

 Hi Chris,
  What about use #modprobe pciehp pciehp_debug=1 pciehp_poll_mode=1 
 pciehp_poll_time=1 ?

 Can you resend the dmesg log and "lspci -vvv" info after hotplug device 
 from your Fujitsu laptop with above module parameters?

>>>
>>> I wasn't sure whether or not the pciehp driver should be loaded on its own 
>>> or with the acpiphp driver also loaded. So I built them both as modules and 
>>> planned to try both, pciehp only and acpiphp only. However, I've found that 
>>> acpiphp will not load (regardless of whether or not pciehp is already 
>>> loaded). What I get is:
>>>
>>> [chris:~]$ sudo modprobe acpiphp debug=1
>>> modprobe: ERROR: could not insert 'acpiphp': No such device

Are you sure you had pciehp already loaded?

>>>
>>
>> Currently, If your hardware support pciehp native hotplug, acpiphp driver 
>> will be rejected when loading it in system
>> (you can force loading it by add boot parameter pcie_aspm=off as Martin 
>> said).
>>
> 
> OK, thanks again for the advice. I've disabled the acpiphp driver.

Pitty. For me only with acpiphp works detection of express card in the slot. 
With pciehp
the PresDet is not updated properly upon removal/insertion and sometimes, 
probably as a result
of the previous, PresDet on the SltSta: line of lspci is not correct. So I 
moved away from pciehp.
I have a SandyBridge based laptop so I was hoping with your i5-based laptop you 
have also great
chance to get rid of pciehp issues.

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Chris Clayton



On 01/27/13 12:18, Yijing Wang wrote:

于 2013-01-27 19:19, Chris Clayton 写道:

Hi Yijing

On 01/27/13 02:45, Yijing Wang wrote:

于 2013-01-27 4:54, Chris Clayton 写道:

Hi Martin,

On 01/24/13 19:21, Martin Mokrejs wrote:

Hi Chris,
 try to include in kernel only acpiphp and omit pciehp. Don't use modules 
but include
them statically. And try, in addition, check whether "pcie_aspm=off" in 
grub.conf helped.



Thanks for the tip. I had the pciehp driver installed, but it was a module and 
not loaded. I didn't have acpiphp enabled at all. Building them both in 
statically, appears to have papered over the cracks of the oops :-)


Not loaded pciehp driver? Remove the device from this slot without poweroff ?



That's correct. When I first encountered the oops, I did not have the pciehp 
driver loaded and removing the device from the slot whilst the laptop was 
powered on resulted in the oops.


Hmm, that's unsafe and dangerous, because device now may be running.
There are two ways to trigger pci hot-add or hot-remove in linux, after loaded 
pciehp or acpiphp module
(the two modules only one can loaded into system at the same time). You can 
trigger hot-add/hot-remove by
sysfs interface under /sys/bus/pci/slots/[slot-name]/power or attention button 
on hardware (if your laptop supports that).



OK, thanks for the advice.




 The best would if you subscribe to linux-pci, and read my recent threads
about similar issues I had with express cards with Dell Vostro 3550. Further, 
there is
a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, just 
browse the
archives of linux-pci and see the pacthes and the discussion.


Those discussions are way above my level of knowledge. I guess all this work 
will be merged into mainline in due course, so I'll watch for them in 3.9 or 
later. Unless, of course, there is a tree I could clone and help test the 
changes with my laptop and expresscard.

Hotplug isn't working at all on my Fujitsu laptop, so I can only get the card 
recognised by rebooting with the card inserted (or by writing 1 
to/sys/bus/pci/rescan). There seem to be a few reports on this in the kernel 
bugzilla, so I'll look through them and see what's being done.


Hi Chris,
 What about use #modprobe pciehp pciehp_debug=1 pciehp_poll_mode=1 
pciehp_poll_time=1 ?

Can you resend the dmesg log and "lspci -vvv" info after hotplug device from 
your Fujitsu laptop with above module parameters?



I wasn't sure whether or not the pciehp driver should be loaded on its own or 
with the acpiphp driver also loaded. So I built them both as modules and 
planned to try both, pciehp only and acpiphp only. However, I've found that 
acpiphp will not load (regardless of whether or not pciehp is already loaded). 
What I get is:

[chris:~]$ sudo modprobe acpiphp debug=1
modprobe: ERROR: could not insert 'acpiphp': No such device



Currently, If your hardware support pciehp native hotplug, acpiphp driver will 
be rejected when loading it in system
(you can force loading it by add boot parameter pcie_aspm=off as Martin said).



OK, thanks again for the advice. I've disabled the acpiphp driver.


and at the end of the dmesg output I see:

[   68.199789] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[   68.199970] acpiphp_glue: Total 0 slots

The pciehp driver loads OK. I've attached pciehp-only which shows the dmesg and 
lscpi output that you asked for.

As I said before, the only way that I can get the card detected with rebooting 
the laptop is to write 1 to /sys/bus/pci/rescan. In the hope that it might help 
(e.g. it shows details of the expresscard I'm using), I've also attached the 
output from dmesg and lspci after a rescan.


In this case, i guess your slot maybe always power on, once you insert your 
pcie card, and use rescan intercace, you can find them.

I checked the WinTV-HVR-1400 expressed card device's parent port device, as 
bellow.
I found the powerctrl in slot cap is clear. So I doubt the hardware support pci 
hotplug.


Mmm, that's odd because I dual-boot Windows 7 on this laptop and when I 
plug it in under Windows 7, it appears in Device Manager and works 
perfectly.




Chris, Can you try to add and remove device by /sys/bus/pci/slots/3/power? (use 
#modprobe pciehp pciehp_debug=1)


/sys/bus/pci/slots is empty:

[chris:~]$ ls -l /sys/bus/pci/slots/
total 0

Using Google, I find that the acpi slot detection driver should populate 
that directory. It is configured in and built into the kernel 
statically, so I don't know what's happening there.


By the way, there is also /sys/bus/pci_express directory:

[chris:~]$ ls -Rl /sys/bus/pci_express/
/sys/bus/pci_express/:
total 0
drwxr-xr-x 2 root root0 Jan 27 12:52 devices/
drwxr-xr-x 3 root root0 Jan 27 13:07 drivers/
-rw-r--r-- 1 root root 4096 Jan 27 13:07 drivers_autoprobe
--w--- 1 root root 4096 Jan 27 13:07 drivers_probe
--w--- 1 root root 4096 Jan 27 13:07 uevent

/sys/bus/pci_express/devices:

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Yijing Wang
于 2013-01-27 19:19, Chris Clayton 写道:
> Hi Yijing
> 
> On 01/27/13 02:45, Yijing Wang wrote:
>> 于 2013-01-27 4:54, Chris Clayton 写道:
>>> Hi Martin,
>>>
>>> On 01/24/13 19:21, Martin Mokrejs wrote:
 Hi Chris,
 try to include in kernel only acpiphp and omit pciehp. Don't use 
 modules but include
 them statically. And try, in addition, check whether "pcie_aspm=off" in 
 grub.conf helped.

>>>
>>> Thanks for the tip. I had the pciehp driver installed, but it was a module 
>>> and not loaded. I didn't have acpiphp enabled at all. Building them both in 
>>> statically, appears to have papered over the cracks of the oops :-)
>>
>> Not loaded pciehp driver? Remove the device from this slot without poweroff ?
>>
> 
> That's correct. When I first encountered the oops, I did not have the pciehp 
> driver loaded and removing the device from the slot whilst the laptop was 
> powered on resulted in the oops.

Hmm, that's unsafe and dangerous, because device now may be running.
There are two ways to trigger pci hot-add or hot-remove in linux, after loaded 
pciehp or acpiphp module
(the two modules only one can loaded into system at the same time). You can 
trigger hot-add/hot-remove by
sysfs interface under /sys/bus/pci/slots/[slot-name]/power or attention button 
on hardware (if your laptop supports that).

>>>
 The best would if you subscribe to linux-pci, and read my recent 
 threads
 about similar issues I had with express cards with Dell Vostro 3550. 
 Further, there is
 a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, 
 just browse the
 archives of linux-pci and see the pacthes and the discussion.
>>>
>>> Those discussions are way above my level of knowledge. I guess all this 
>>> work will be merged into mainline in due course, so I'll watch for them in 
>>> 3.9 or later. Unless, of course, there is a tree I could clone and help 
>>> test the changes with my laptop and expresscard.
>>>
>>> Hotplug isn't working at all on my Fujitsu laptop, so I can only get the 
>>> card recognised by rebooting with the card inserted (or by writing 1 
>>> to/sys/bus/pci/rescan). There seem to be a few reports on this in the 
>>> kernel bugzilla, so I'll look through them and see what's being done.
>>
>> Hi Chris,
>> What about use #modprobe pciehp pciehp_debug=1 pciehp_poll_mode=1 
>> pciehp_poll_time=1 ?
>>
>> Can you resend the dmesg log and "lspci -vvv" info after hotplug device from 
>> your Fujitsu laptop with above module parameters?
>>
> 
> I wasn't sure whether or not the pciehp driver should be loaded on its own or 
> with the acpiphp driver also loaded. So I built them both as modules and 
> planned to try both, pciehp only and acpiphp only. However, I've found that 
> acpiphp will not load (regardless of whether or not pciehp is already 
> loaded). What I get is:
> 
> [chris:~]$ sudo modprobe acpiphp debug=1
> modprobe: ERROR: could not insert 'acpiphp': No such device
>

Currently, If your hardware support pciehp native hotplug, acpiphp driver will 
be rejected when loading it in system
(you can force loading it by add boot parameter pcie_aspm=off as Martin said).

> and at the end of the dmesg output I see:
> 
> [   68.199789] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
> [   68.199970] acpiphp_glue: Total 0 slots
> 
> The pciehp driver loads OK. I've attached pciehp-only which shows the dmesg 
> and lscpi output that you asked for.
> 
> As I said before, the only way that I can get the card detected with 
> rebooting the laptop is to write 1 to /sys/bus/pci/rescan. In the hope that 
> it might help (e.g. it shows details of the expresscard I'm using), I've also 
> attached the output from dmesg and lspci after a rescan.

In this case, i guess your slot maybe always power on, once you insert your 
pcie card, and use rescan intercace, you can find them.

I checked the WinTV-HVR-1400 expressed card device's parent port device, as 
bellow.
I found the powerctrl in slot cap is clear. So I doubt the hardware support pci 
hotplug.

Chris, Can you try to add and remove device by /sys/bus/pci/slots/3/power? (use 
#modprobe pciehp pciehp_debug=1)


00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI 
Express Root Port 4 (rev b5) (prog-if 00 [Normal decode])

Bus: primary=00, secondary=02, subordinate=06, sec-latency=0

Capabilities: [40] Express (v2) Root Port (Slot+), MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, 
L1 <1us
ExtTag- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- 
Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
TransPend-
LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency L0 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Chris Clayton

Hi Martin,

On 01/26/13 21:14, Martin Mokrejs wrote:

Hi Chris,

Chris Clayton wrote:

Hi Martin,

On 01/24/13 19:21, Martin Mokrejs wrote:

Hi Chris,
try to include in kernel only acpiphp and omit pciehp. Don't use modules 
but include
them statically. And try, in addition, check whether "pcie_aspm=off" in 
grub.conf helped.



Thanks for the tip. I had the pciehp driver installed, but it was a module and 
not loaded. I didn't have acpiphp enabled at all. Building them both in 
statically, appears to have papered over the cracks of the oops :-)


The best would if you subscribe to linux-pci, and read my recent threads
about similar issues I had with express cards with Dell Vostro 3550. Further, 
there is
a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, just 
browse the
archives of linux-pci and see the pacthes and the discussion.


Those discussions are way above my level of knowledge. I guess all this work 
will be merged into mainline in due course, so I'll watch for them in 3.9 or 
later. Unless, of course, there is a tree I could clone and help test the 
changes with my laptop and expresscard.

Hotplug isn't working at all on my Fujitsu laptop, so I can only get the card 
recognised by rebooting with the card inserted (or by writing 1 
to/sys/bus/pci/rescan). There seem to be a few reports on this in the kernel 
bugzilla, so I'll look through them and see what's being done.


That's what I suspected. Compile in statically acpiphp, no pciehp at all (not 
even as a module).
Then it might work for you -- at least it does for me, provided I use 
"pcie_aspm=off".

Thanks again for the suggestion. Unfortunately, that doesn't fix the 
problem on my laptop.


You may have seen the suggestion I've had from Yijing. I'm just building 
the kernel to test that out.


Chris

Martin



Thanks again.

Chris


Martin

Chris Clayton wrote:

Hi,

I've today taken delivery of a WinTV-HVR-1400 expresscard TV Tuner and got an Oops when I 
removed from the expresscard slot in my laptop. I will quite understand if the response 
to this report is "don't do that!", but in that case, how should one remove one 
of these cards?

I have attached three files:

1. the dmesg output from when I rebooted the machine after the oops. I have 
turned debugging on in the dib700p and cx23885 modules via modules options in 
/etc/modprobe.d/hvr1400.conf;

2. the .config file for the kernel that oopsed.

3. the text of the oops message. I've typed this up from a photograph of the 
screen because the laptop was locked up and there was nothing in the log files. 
Apologies for any typos, but I have tried to be careful.

Assuming the answer isn't don't do that, let me know if I can provide any 
additional diagnostics, test any patches, etc. Please, however, cc me as I'm 
not subscribed.

Chris




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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Chris Clayton

Hi Martin,

On 01/26/13 21:14, Martin Mokrejs wrote:

Hi Chris,

Chris Clayton wrote:

Hi Martin,

On 01/24/13 19:21, Martin Mokrejs wrote:

Hi Chris,
try to include in kernel only acpiphp and omit pciehp. Don't use modules 
but include
them statically. And try, in addition, check whether pcie_aspm=off in 
grub.conf helped.



Thanks for the tip. I had the pciehp driver installed, but it was a module and 
not loaded. I didn't have acpiphp enabled at all. Building them both in 
statically, appears to have papered over the cracks of the oops :-)


The best would if you subscribe to linux-pci, and read my recent threads
about similar issues I had with express cards with Dell Vostro 3550. Further, 
there is
a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, just 
browse the
archives of linux-pci and see the pacthes and the discussion.


Those discussions are way above my level of knowledge. I guess all this work 
will be merged into mainline in due course, so I'll watch for them in 3.9 or 
later. Unless, of course, there is a tree I could clone and help test the 
changes with my laptop and expresscard.

Hotplug isn't working at all on my Fujitsu laptop, so I can only get the card 
recognised by rebooting with the card inserted (or by writing 1 
to/sys/bus/pci/rescan). There seem to be a few reports on this in the kernel 
bugzilla, so I'll look through them and see what's being done.


That's what I suspected. Compile in statically acpiphp, no pciehp at all (not 
even as a module).
Then it might work for you -- at least it does for me, provided I use 
pcie_aspm=off.

Thanks again for the suggestion. Unfortunately, that doesn't fix the 
problem on my laptop.


You may have seen the suggestion I've had from Yijing. I'm just building 
the kernel to test that out.


Chris

Martin



Thanks again.

Chris


Martin

Chris Clayton wrote:

Hi,

I've today taken delivery of a WinTV-HVR-1400 expresscard TV Tuner and got an Oops when I 
removed from the expresscard slot in my laptop. I will quite understand if the response 
to this report is don't do that!, but in that case, how should one remove one 
of these cards?

I have attached three files:

1. the dmesg output from when I rebooted the machine after the oops. I have 
turned debugging on in the dib700p and cx23885 modules via modules options in 
/etc/modprobe.d/hvr1400.conf;

2. the .config file for the kernel that oopsed.

3. the text of the oops message. I've typed this up from a photograph of the 
screen because the laptop was locked up and there was nothing in the log files. 
Apologies for any typos, but I have tried to be careful.

Assuming the answer isn't don't do that, let me know if I can provide any 
additional diagnostics, test any patches, etc. Please, however, cc me as I'm 
not subscribed.

Chris




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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Yijing Wang
于 2013-01-27 19:19, Chris Clayton 写道:
 Hi Yijing
 
 On 01/27/13 02:45, Yijing Wang wrote:
 于 2013-01-27 4:54, Chris Clayton 写道:
 Hi Martin,

 On 01/24/13 19:21, Martin Mokrejs wrote:
 Hi Chris,
 try to include in kernel only acpiphp and omit pciehp. Don't use 
 modules but include
 them statically. And try, in addition, check whether pcie_aspm=off in 
 grub.conf helped.


 Thanks for the tip. I had the pciehp driver installed, but it was a module 
 and not loaded. I didn't have acpiphp enabled at all. Building them both in 
 statically, appears to have papered over the cracks of the oops :-)

 Not loaded pciehp driver? Remove the device from this slot without poweroff ?

 
 That's correct. When I first encountered the oops, I did not have the pciehp 
 driver loaded and removing the device from the slot whilst the laptop was 
 powered on resulted in the oops.

Hmm, that's unsafe and dangerous, because device now may be running.
There are two ways to trigger pci hot-add or hot-remove in linux, after loaded 
pciehp or acpiphp module
(the two modules only one can loaded into system at the same time). You can 
trigger hot-add/hot-remove by
sysfs interface under /sys/bus/pci/slots/[slot-name]/power or attention button 
on hardware (if your laptop supports that).


 The best would if you subscribe to linux-pci, and read my recent 
 threads
 about similar issues I had with express cards with Dell Vostro 3550. 
 Further, there is
 a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, 
 just browse the
 archives of linux-pci and see the pacthes and the discussion.

 Those discussions are way above my level of knowledge. I guess all this 
 work will be merged into mainline in due course, so I'll watch for them in 
 3.9 or later. Unless, of course, there is a tree I could clone and help 
 test the changes with my laptop and expresscard.

 Hotplug isn't working at all on my Fujitsu laptop, so I can only get the 
 card recognised by rebooting with the card inserted (or by writing 1 
 to/sys/bus/pci/rescan). There seem to be a few reports on this in the 
 kernel bugzilla, so I'll look through them and see what's being done.

 Hi Chris,
 What about use #modprobe pciehp pciehp_debug=1 pciehp_poll_mode=1 
 pciehp_poll_time=1 ?

 Can you resend the dmesg log and lspci -vvv info after hotplug device from 
 your Fujitsu laptop with above module parameters?

 
 I wasn't sure whether or not the pciehp driver should be loaded on its own or 
 with the acpiphp driver also loaded. So I built them both as modules and 
 planned to try both, pciehp only and acpiphp only. However, I've found that 
 acpiphp will not load (regardless of whether or not pciehp is already 
 loaded). What I get is:
 
 [chris:~]$ sudo modprobe acpiphp debug=1
 modprobe: ERROR: could not insert 'acpiphp': No such device


Currently, If your hardware support pciehp native hotplug, acpiphp driver will 
be rejected when loading it in system
(you can force loading it by add boot parameter pcie_aspm=off as Martin said).

 and at the end of the dmesg output I see:
 
 [   68.199789] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
 [   68.199970] acpiphp_glue: Total 0 slots
 
 The pciehp driver loads OK. I've attached pciehp-only which shows the dmesg 
 and lscpi output that you asked for.
 
 As I said before, the only way that I can get the card detected with 
 rebooting the laptop is to write 1 to /sys/bus/pci/rescan. In the hope that 
 it might help (e.g. it shows details of the expresscard I'm using), I've also 
 attached the output from dmesg and lspci after a rescan.

In this case, i guess your slot maybe always power on, once you insert your 
pcie card, and use rescan intercace, you can find them.

I checked the WinTV-HVR-1400 expressed card device's parent port device, as 
bellow.
I found the powerctrl in slot cap is clear. So I doubt the hardware support pci 
hotplug.

Chris, Can you try to add and remove device by /sys/bus/pci/slots/3/power? (use 
#modprobe pciehp pciehp_debug=1)


00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI 
Express Root Port 4 (rev b5) (prog-if 00 [Normal decode])

Bus: primary=00, secondary=02, subordinate=06, sec-latency=0

Capabilities: [40] Express (v2) Root Port (Slot+), MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s 64ns, 
L1 1us
ExtTag- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- 
Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ 
TransPend-
LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency L0 
512ns, L1 16us
ClockPM- Surprise- LLActRep+ BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Chris Clayton



On 01/27/13 12:18, Yijing Wang wrote:

于 2013-01-27 19:19, Chris Clayton 写道:

Hi Yijing

On 01/27/13 02:45, Yijing Wang wrote:

于 2013-01-27 4:54, Chris Clayton 写道:

Hi Martin,

On 01/24/13 19:21, Martin Mokrejs wrote:

Hi Chris,
 try to include in kernel only acpiphp and omit pciehp. Don't use modules 
but include
them statically. And try, in addition, check whether pcie_aspm=off in 
grub.conf helped.



Thanks for the tip. I had the pciehp driver installed, but it was a module and 
not loaded. I didn't have acpiphp enabled at all. Building them both in 
statically, appears to have papered over the cracks of the oops :-)


Not loaded pciehp driver? Remove the device from this slot without poweroff ?



That's correct. When I first encountered the oops, I did not have the pciehp 
driver loaded and removing the device from the slot whilst the laptop was 
powered on resulted in the oops.


Hmm, that's unsafe and dangerous, because device now may be running.
There are two ways to trigger pci hot-add or hot-remove in linux, after loaded 
pciehp or acpiphp module
(the two modules only one can loaded into system at the same time). You can 
trigger hot-add/hot-remove by
sysfs interface under /sys/bus/pci/slots/[slot-name]/power or attention button 
on hardware (if your laptop supports that).



OK, thanks for the advice.




 The best would if you subscribe to linux-pci, and read my recent threads
about similar issues I had with express cards with Dell Vostro 3550. Further, 
there is
a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, just 
browse the
archives of linux-pci and see the pacthes and the discussion.


Those discussions are way above my level of knowledge. I guess all this work 
will be merged into mainline in due course, so I'll watch for them in 3.9 or 
later. Unless, of course, there is a tree I could clone and help test the 
changes with my laptop and expresscard.

Hotplug isn't working at all on my Fujitsu laptop, so I can only get the card 
recognised by rebooting with the card inserted (or by writing 1 
to/sys/bus/pci/rescan). There seem to be a few reports on this in the kernel 
bugzilla, so I'll look through them and see what's being done.


Hi Chris,
 What about use #modprobe pciehp pciehp_debug=1 pciehp_poll_mode=1 
pciehp_poll_time=1 ?

Can you resend the dmesg log and lspci -vvv info after hotplug device from 
your Fujitsu laptop with above module parameters?



I wasn't sure whether or not the pciehp driver should be loaded on its own or 
with the acpiphp driver also loaded. So I built them both as modules and 
planned to try both, pciehp only and acpiphp only. However, I've found that 
acpiphp will not load (regardless of whether or not pciehp is already loaded). 
What I get is:

[chris:~]$ sudo modprobe acpiphp debug=1
modprobe: ERROR: could not insert 'acpiphp': No such device



Currently, If your hardware support pciehp native hotplug, acpiphp driver will 
be rejected when loading it in system
(you can force loading it by add boot parameter pcie_aspm=off as Martin said).



OK, thanks again for the advice. I've disabled the acpiphp driver.


and at the end of the dmesg output I see:

[   68.199789] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[   68.199970] acpiphp_glue: Total 0 slots

The pciehp driver loads OK. I've attached pciehp-only which shows the dmesg and 
lscpi output that you asked for.

As I said before, the only way that I can get the card detected with rebooting 
the laptop is to write 1 to /sys/bus/pci/rescan. In the hope that it might help 
(e.g. it shows details of the expresscard I'm using), I've also attached the 
output from dmesg and lspci after a rescan.


In this case, i guess your slot maybe always power on, once you insert your 
pcie card, and use rescan intercace, you can find them.

I checked the WinTV-HVR-1400 expressed card device's parent port device, as 
bellow.
I found the powerctrl in slot cap is clear. So I doubt the hardware support pci 
hotplug.


Mmm, that's odd because I dual-boot Windows 7 on this laptop and when I 
plug it in under Windows 7, it appears in Device Manager and works 
perfectly.




Chris, Can you try to add and remove device by /sys/bus/pci/slots/3/power? (use 
#modprobe pciehp pciehp_debug=1)


/sys/bus/pci/slots is empty:

[chris:~]$ ls -l /sys/bus/pci/slots/
total 0

Using Google, I find that the acpi slot detection driver should populate 
that directory. It is configured in and built into the kernel 
statically, so I don't know what's happening there.


By the way, there is also /sys/bus/pci_express directory:

[chris:~]$ ls -Rl /sys/bus/pci_express/
/sys/bus/pci_express/:
total 0
drwxr-xr-x 2 root root0 Jan 27 12:52 devices/
drwxr-xr-x 3 root root0 Jan 27 13:07 drivers/
-rw-r--r-- 1 root root 4096 Jan 27 13:07 drivers_autoprobe
--w--- 1 root root 4096 Jan 27 13:07 drivers_probe
--w--- 1 root root 4096 Jan 27 13:07 uevent

/sys/bus/pci_express/devices:
total 0

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Martin Mokrejs
Chris Clayton wrote:
 
 
 On 01/27/13 12:18, Yijing Wang wrote:
 于 2013-01-27 19:19, Chris Clayton 写道:
 Hi Yijing

 On 01/27/13 02:45, Yijing Wang wrote:
 于 2013-01-27 4:54, Chris Clayton 写道:
 Hi Martin,

 On 01/24/13 19:21, Martin Mokrejs wrote:
 Hi Chris,
  try to include in kernel only acpiphp and omit pciehp. Don't use 
 modules but include
 them statically. And try, in addition, check whether pcie_aspm=off in 
 grub.conf helped.


 Thanks for the tip. I had the pciehp driver installed, but it was a 
 module and not loaded. I didn't have acpiphp enabled at all. Building 
 them both in statically, appears to have papered over the cracks of the 
 oops :-)

 Not loaded pciehp driver? Remove the device from this slot without 
 poweroff ?


 That's correct. When I first encountered the oops, I did not have the 
 pciehp driver loaded and removing the device from the slot whilst the 
 laptop was powered on resulted in the oops.

 Hmm, that's unsafe and dangerous, because device now may be running.
 There are two ways to trigger pci hot-add or hot-remove in linux, after 
 loaded pciehp or acpiphp module
 (the two modules only one can loaded into system at the same time). You can 
 trigger hot-add/hot-remove by
 sysfs interface under /sys/bus/pci/slots/[slot-name]/power or attention 
 button on hardware (if your laptop supports that).

 
 OK, thanks for the advice.
 

  The best would if you subscribe to linux-pci, and read my recent 
 threads
 about similar issues I had with express cards with Dell Vostro 3550. 
 Further, there is
 a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, 
 just browse the
 archives of linux-pci and see the pacthes and the discussion.

 Those discussions are way above my level of knowledge. I guess all this 
 work will be merged into mainline in due course, so I'll watch for them 
 in 3.9 or later. Unless, of course, there is a tree I could clone and 
 help test the changes with my laptop and expresscard.

 Hotplug isn't working at all on my Fujitsu laptop, so I can only get the 
 card recognised by rebooting with the card inserted (or by writing 1 
 to/sys/bus/pci/rescan). There seem to be a few reports on this in the 
 kernel bugzilla, so I'll look through them and see what's being done.

 Hi Chris,
  What about use #modprobe pciehp pciehp_debug=1 pciehp_poll_mode=1 
 pciehp_poll_time=1 ?

 Can you resend the dmesg log and lspci -vvv info after hotplug device 
 from your Fujitsu laptop with above module parameters?


 I wasn't sure whether or not the pciehp driver should be loaded on its own 
 or with the acpiphp driver also loaded. So I built them both as modules and 
 planned to try both, pciehp only and acpiphp only. However, I've found that 
 acpiphp will not load (regardless of whether or not pciehp is already 
 loaded). What I get is:

 [chris:~]$ sudo modprobe acpiphp debug=1
 modprobe: ERROR: could not insert 'acpiphp': No such device

Are you sure you had pciehp already loaded?



 Currently, If your hardware support pciehp native hotplug, acpiphp driver 
 will be rejected when loading it in system
 (you can force loading it by add boot parameter pcie_aspm=off as Martin 
 said).

 
 OK, thanks again for the advice. I've disabled the acpiphp driver.

Pitty. For me only with acpiphp works detection of express card in the slot. 
With pciehp
the PresDet is not updated properly upon removal/insertion and sometimes, 
probably as a result
of the previous, PresDet on the SltSta: line of lspci is not correct. So I 
moved away from pciehp.
I have a SandyBridge based laptop so I was hoping with your i5-based laptop you 
have also great
chance to get rid of pciehp issues.

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Chris Clayton



On 01/27/13 14:26, Martin Mokrejs wrote:

Chris Clayton wrote:



On 01/27/13 12:18, Yijing Wang wrote:

于 2013-01-27 19:19, Chris Clayton 写道:

Hi Yijing

On 01/27/13 02:45, Yijing Wang wrote:

于 2013-01-27 4:54, Chris Clayton 写道:

Hi Martin,

On 01/24/13 19:21, Martin Mokrejs wrote:

Hi Chris,
  try to include in kernel only acpiphp and omit pciehp. Don't use modules 
but include
them statically. And try, in addition, check whether pcie_aspm=off in 
grub.conf helped.



Thanks for the tip. I had the pciehp driver installed, but it was a module and 
not loaded. I didn't have acpiphp enabled at all. Building them both in 
statically, appears to have papered over the cracks of the oops :-)


Not loaded pciehp driver? Remove the device from this slot without poweroff ?



That's correct. When I first encountered the oops, I did not have the pciehp 
driver loaded and removing the device from the slot whilst the laptop was 
powered on resulted in the oops.


Hmm, that's unsafe and dangerous, because device now may be running.
There are two ways to trigger pci hot-add or hot-remove in linux, after loaded 
pciehp or acpiphp module
(the two modules only one can loaded into system at the same time). You can 
trigger hot-add/hot-remove by
sysfs interface under /sys/bus/pci/slots/[slot-name]/power or attention button 
on hardware (if your laptop supports that).



OK, thanks for the advice.




  The best would if you subscribe to linux-pci, and read my recent threads
about similar issues I had with express cards with Dell Vostro 3550. Further, 
there is
a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, just 
browse the
archives of linux-pci and see the pacthes and the discussion.


Those discussions are way above my level of knowledge. I guess all this work 
will be merged into mainline in due course, so I'll watch for them in 3.9 or 
later. Unless, of course, there is a tree I could clone and help test the 
changes with my laptop and expresscard.

Hotplug isn't working at all on my Fujitsu laptop, so I can only get the card 
recognised by rebooting with the card inserted (or by writing 1 
to/sys/bus/pci/rescan). There seem to be a few reports on this in the kernel 
bugzilla, so I'll look through them and see what's being done.


Hi Chris,
  What about use #modprobe pciehp pciehp_debug=1 pciehp_poll_mode=1 
pciehp_poll_time=1 ?

Can you resend the dmesg log and lspci -vvv info after hotplug device from 
your Fujitsu laptop with above module parameters?



I wasn't sure whether or not the pciehp driver should be loaded on its own or 
with the acpiphp driver also loaded. So I built them both as modules and 
planned to try both, pciehp only and acpiphp only. However, I've found that 
acpiphp will not load (regardless of whether or not pciehp is already loaded). 
What I get is:

[chris:~]$ sudo modprobe acpiphp debug=1
modprobe: ERROR: could not insert 'acpiphp': No such device


Are you sure you had pciehp already loaded?


Yes, I'm sure it was.




Currently, If your hardware support pciehp native hotplug, acpiphp driver will 
be rejected when loading it in system
(you can force loading it by add boot parameter pcie_aspm=off as Martin said).



OK, thanks again for the advice. I've disabled the acpiphp driver.


Pitty. For me only with acpiphp works detection of express card in the slot. 
With pciehp
the PresDet is not updated properly upon removal/insertion and sometimes, 
probably as a result
of the previous, PresDet on the SltSta: line of lspci is not correct. So I 
moved away from pciehp.
I have a SandyBridge based laptop so I was hoping with your i5-based laptop you 
have also great
chance to get rid of pciehp issues.



I've just (very carefully) set this up again (i.e. no pciehp driver 
(module or builtin), acpiphp driver built in and pcie_aspm=off on the 
kernel command line (via grub). My card is not detected on insertion. :-(


Thanks for your suggestions, Martin. I am grateful.

Chris

Martin


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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Martin Mokrejs
Chris Clayton wrote:
 
 
 On 01/27/13 14:26, Martin Mokrejs wrote:
 Chris Clayton wrote:


 On 01/27/13 12:18, Yijing Wang wrote:
 于 2013-01-27 19:19, Chris Clayton 写道:
 Hi Yijing

 On 01/27/13 02:45, Yijing Wang wrote:
 于 2013-01-27 4:54, Chris Clayton 写道:
 Hi Martin,

 On 01/24/13 19:21, Martin Mokrejs wrote:
 Hi Chris,
   try to include in kernel only acpiphp and omit pciehp. Don't use 
 modules but include
 them statically. And try, in addition, check whether pcie_aspm=off 
 in grub.conf helped.


 Thanks for the tip. I had the pciehp driver installed, but it was a 
 module and not loaded. I didn't have acpiphp enabled at all. Building 
 them both in statically, appears to have papered over the cracks of the 
 oops :-)

 Not loaded pciehp driver? Remove the device from this slot without 
 poweroff ?


 That's correct. When I first encountered the oops, I did not have the 
 pciehp driver loaded and removing the device from the slot whilst the 
 laptop was powered on resulted in the oops.

 Hmm, that's unsafe and dangerous, because device now may be running.
 There are two ways to trigger pci hot-add or hot-remove in linux, after 
 loaded pciehp or acpiphp module
 (the two modules only one can loaded into system at the same time). You 
 can trigger hot-add/hot-remove by
 sysfs interface under /sys/bus/pci/slots/[slot-name]/power or attention 
 button on hardware (if your laptop supports that).


 OK, thanks for the advice.


   The best would if you subscribe to linux-pci, and read my recent 
 threads
 about similar issues I had with express cards with Dell Vostro 3550. 
 Further, there is
 a lot of changes to PCI hotplug done by Yingahi Liu and Rafael 
 Wysockij, just browse the
 archives of linux-pci and see the pacthes and the discussion.

 Those discussions are way above my level of knowledge. I guess all this 
 work will be merged into mainline in due course, so I'll watch for them 
 in 3.9 or later. Unless, of course, there is a tree I could clone and 
 help test the changes with my laptop and expresscard.

 Hotplug isn't working at all on my Fujitsu laptop, so I can only get 
 the card recognised by rebooting with the card inserted (or by writing 
 1 to/sys/bus/pci/rescan). There seem to be a few reports on this in the 
 kernel bugzilla, so I'll look through them and see what's being done.

 Hi Chris,
   What about use #modprobe pciehp pciehp_debug=1 pciehp_poll_mode=1 
 pciehp_poll_time=1 ?

 Can you resend the dmesg log and lspci -vvv info after hotplug device 
 from your Fujitsu laptop with above module parameters?


 I wasn't sure whether or not the pciehp driver should be loaded on its 
 own or with the acpiphp driver also loaded. So I built them both as 
 modules and planned to try both, pciehp only and acpiphp only. However, 
 I've found that acpiphp will not load (regardless of whether or not 
 pciehp is already loaded). What I get is:

 [chris:~]$ sudo modprobe acpiphp debug=1
 modprobe: ERROR: could not insert 'acpiphp': No such device

 Are you sure you had pciehp already loaded?

 Yes, I'm sure it was.

Ah, sorry, wanted to say Are you sure you had NOT pciehp already loaded 
(loaded before)?. If you retry without loading it ever you might succeed with 
acpiphp.



 Currently, If your hardware support pciehp native hotplug, acpiphp driver 
 will be rejected when loading it in system
 (you can force loading it by add boot parameter pcie_aspm=off as Martin 
 said).


 OK, thanks again for the advice. I've disabled the acpiphp driver.

 Pitty. For me only with acpiphp works detection of express card in the slot. 
 With pciehp
 the PresDet is not updated properly upon removal/insertion and sometimes, 
 probably as a result
 of the previous, PresDet on the SltSta: line of lspci is not correct. So I 
 moved away from pciehp.
 I have a SandyBridge based laptop so I was hoping with your i5-based laptop 
 you have also great
 chance to get rid of pciehp issues.

 
 I've just (very carefully) set this up again (i.e. no pciehp driver (module 
 or builtin), acpiphp driver built in and pcie_aspm=off on the kernel command 
 line (via grub). My card is not detected on insertion. :-(

Do you have any other express card around to try if it works at all? Try that 
always after a cold boot.

Posting a diff result of the below procedure might help:

# lspci -vvvxxx  lspci.before_insertion.txt

[plug your card into the slot]

# lspci -vvvxxx  lspci.after_insertion.txt

[ unplug your card]

# lspci -vvvxxx  lspci.after_1st_removal.txt

[re-plug your card into the slot]

# lspci -vvvxxx  lspci.after_1st_re-insertion.txt

[ unplug your card]

# lspci -vvvxxx  lspci.after_2nd_removal.txt

Then compare them using diff. These should have no difference:

diff lspci.after_insertion.txt lspci.after_1st_re-insertion.txt
diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt


These may have only little difference, or none:

diff lspci.before_insertion.txt lspci.after_1st_removal.txt
diff 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Chris Clayton

Thanks again, Martin.

Firstly, maybe we should remove the linux-media list from the copy list. 
I imagine this hotplug stuff is just noise to them.


[snip]

Do you have any other express card around to try if it works at all? Try that 
always after a cold boot.

Not at the moment, but I ordered at USB3 expresscard yesterday, so I 
will have one soon.



Posting a diff result of the below procedure might help:

# lspci -vvvxxx  lspci.before_insertion.txt

[plug your card into the slot]

# lspci -vvvxxx  lspci.after_insertion.txt

[ unplug your card]

# lspci -vvvxxx  lspci.after_1st_removal.txt

[re-plug your card into the slot]

# lspci -vvvxxx  lspci.after_1st_re-insertion.txt

[ unplug your card]

# lspci -vvvxxx  lspci.after_2nd_removal.txt



OK, I've been using kernel 3.8.0-rc kernels so far, but given that is 
still under development, I've switched to 3.7.4, mainly because you are 
having success with 3.7.x, acpiphp and pcie_aspm=off. I verified the 
environment as follows:


[chris:~]$ cat /proc/cmdline
root=/dev/sda5 pcie_aspm=off ro resume=/dev/sda6
[chris:~]$ dmesg | grep ASPM
[0.00] PCIe ASPM is disabled
[0.348959]  pci:00: ACPI _OSC support notification failed, 
disabling PCIe ASPM

[chris:~]$ dmesg | grep acpiphp
[0.400846] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[chris:~]$ dmesg | grep pciehp
[chris:~]$ uname -a
Linux laptop 3.7.4 #13 SMP PREEMPT Sun Jan 27 18:39:39 GMT 2013 i686 
GNU/Linux




Then compare them using diff. These should have no difference:

diff lspci.after_insertion.txt lspci.after_1st_re-insertion.txt
diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt


Correct, there were no differences.



These may have only little difference, or none:

diff lspci.before_insertion.txt lspci.after_1st_removal.txt


263c263
   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, 
Latency L0 1us, L1 16us

---
LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, 
Latency L0 512ns, L1 16us

265c265
   LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- 
Retrain- CommClk-

---
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
CommClk+

267c267
   LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ 
DLActive- BWMgmt- ABWMgmt-

---
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- 
SlotClk+ DLActive- BWMgmt+ ABWMgmt-

273c273
   Changed: MRL- PresDet- LinkState-
---
Changed: MRL- PresDet- LinkState+
295,296c295,296
 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 4c 12 04
 50: 03 00 01 10 60 b2 1c 00 08 00 00 00 00 00 00 00
---
  40: 10 80 42 01 00 80 00 00 00 00 10 00 12 3c 12 04
  50: 40 00 11 50 60 b2 1c 00 08 00 00 01 00 00 00 00


diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt


No difference.



Finally, these should confirm whether the PresDet works for you (for me NOT 
with pciehp but does work with acpiphp).
You should see PresDet- to PresDet+ changes in:


Yes, I do see the PresDet- to PresDet+ changes


diff lspci.before_insertion.txt lspci.after_insertion.txt


263c263
   LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, 
Latency L0 1us, L1 16us

---
LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, 
Latency L0 512ns, L1 16us

265c265
   LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- 
Retrain- CommClk-

---
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
CommClk+

267c267
   LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ 
DLActive- BWMgmt- ABWMgmt-

---
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- 
SlotClk+ DLActive+ BWMgmt+ ABWMgmt-

272,273c272,273
   SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- 
PresDet- Interlock-

   Changed: MRL- PresDet- LinkState-
---
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- 
PresDet+ Interlock-

Changed: MRL- PresDet- LinkState+
295,296c295,296
 40: 10 80 42 01 00 80 00 00 00 00 10 00 12 4c 12 04
 50: 03 00 01 10 60 b2 1c 00 08 00 00 00 00 00 00 00
---
  40: 10 80 42 01 00 80 00 00 00 00 10 00 12 3c 12 04
  50: 40 00 11 70 60 b2 1c 00 08 00 40 01 00 00 00 00


diff lspci.after_1st_removal.txt lspci.after_1st_re-insertion.txt

267c267
   LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ 
DLActive- BWMgmt+ ABWMgmt-

---
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- 
SlotClk+ DLActive+ BWMgmt+ ABWMgmt-

272c272
   SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- 
PresDet- Interlock-

---
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- 
PresDet+ Interlock-

296c296
 50: 40 00 11 50 60 b2 1c 00 08 00 00 01 00 00 00 00
---
  50: 40 00 11 70 60 b2 1c 00 08 00 40 01 00 00 00 00



You should see PresDet+ to PresDet- changes in:

Yes, I see those changes too.

diff lspci.after_insertion.txt lspci.after_1st_removal.txt

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Martin Mokrejs
Hi Chris,

Chris Clayton wrote:
 Thanks again, Martin.
 
 Firstly, maybe we should remove the linux-media list from the copy list. I 
 imagine this hotplug stuff is just noise to them.
 
 [snip]
 Do you have any other express card around to try if it works at all? Try 
 that always after a cold boot.

 Not at the moment, but I ordered at USB3 expresscard yesterday, so I will 
 have one soon.
 
 Posting a diff result of the below procedure might help:

 # lspci -vvvxxx  lspci.before_insertion.txt

 [plug your card into the slot]

 # lspci -vvvxxx  lspci.after_insertion.txt

 [ unplug your card]

 # lspci -vvvxxx  lspci.after_1st_removal.txt

 [re-plug your card into the slot]

 # lspci -vvvxxx  lspci.after_1st_re-insertion.txt

 [ unplug your card]

 # lspci -vvvxxx  lspci.after_2nd_removal.txt

 
 OK, I've been using kernel 3.8.0-rc kernels so far, but given that is still 
 under development, I've switched to 3.7.4, mainly because you are having 
 success with 3.7.x, acpiphp and pcie_aspm=off. I verified the environment as 
 follows:
 
 [chris:~]$ cat /proc/cmdline
 root=/dev/sda5 pcie_aspm=off ro resume=/dev/sda6
 [chris:~]$ dmesg | grep ASPM
 [0.00] PCIe ASPM is disabled
 [0.348959]  pci:00: ACPI _OSC support notification failed, disabling 
 PCIe ASPM
 [chris:~]$ dmesg | grep acpiphp
 [0.400846] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
 [chris:~]$ dmesg | grep pciehp
 [chris:~]$ uname -a
 Linux laptop 3.7.4 #13 SMP PREEMPT Sun Jan 27 18:39:39 GMT 2013 i686 GNU/Linux
 

vostro ~ # cat /proc/cmdline
root=/dev/sda5 pciehp.pciehp_debug=1 slub_debug=AFPZ pcie_aspm=off
vostro ~ # dmesg | grep ASPM
[0.00] PCIe ASPM is disabled
vostro ~ # dmesg | grep acpiphp
[2.449038] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[2.453757] acpiphp: Slot [1] registered
vostro ~ # uname -a
Linux vostro 3.7.4-default #2 SMP Mon Jan 21 22:45:22 MET 2013 x86_64 Intel(R) 
Core(TM) i7-2640M CPU @ 2.80GHz GenuineIntel GNU/Linux
vostro ~ # 

 
 Then compare them using diff. These should have no difference:

 diff lspci.after_insertion.txt lspci.after_1st_re-insertion.txt
 diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt

 Correct, there were no differences.
 

 These may have only little difference, or none:

 diff lspci.before_insertion.txt lspci.after_1st_removal.txt
 
 263c263
LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
 L0 1us, L1 16us
 ---
 LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
 L0 512ns, L1 16us
 265c265
LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- 
 CommClk-
 ---
 LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
 CommClk+
 267c267
LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ 
 DLActive- BWMgmt- ABWMgmt-
 ---
 LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ 
 DLActive- BWMgmt+ ABWMgmt-
 273c273
Changed: MRL- PresDet- LinkState-
 ---
 Changed: MRL- PresDet- LinkState+
 295,296c295,296
  40: 10 80 42 01 00 80 00 00 00 00 10 00 12 4c 12 04
  50: 03 00 01 10 60 b2 1c 00 08 00 00 00 00 00 00 00
 ---
   40: 10 80 42 01 00 80 00 00 00 00 10 00 12 3c 12 04
   50: 40 00 11 50 60 b2 1c 00 08 00 00 01 00 00 00 00
 
 diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt

 No difference.


 Finally, these should confirm whether the PresDet works for you (for me NOT 
 with pciehp but does work with acpiphp).
 You should see PresDet- to PresDet+ changes in:

 Yes, I do see the PresDet- to PresDet+ changes
 
 diff lspci.before_insertion.txt lspci.after_insertion.txt
 
 263c263
LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
 L0 1us, L1 16us
 ---
 LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
 L0 512ns, L1 16us
 265c265
LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- 
 CommClk-
 ---
 LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
 CommClk+
 267c267
LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ 
 DLActive- BWMgmt- ABWMgmt-
 ---
 LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ 
 DLActive+ BWMgmt+ ABWMgmt-
 272,273c272,273
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet- 
 Interlock-
Changed: MRL- PresDet- LinkState-
 ---
 SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ 
 Interlock-
 Changed: MRL- PresDet- LinkState+
 295,296c295,296
  40: 10 80 42 01 00 80 00 00 00 00 10 00 12 4c 12 04
  50: 03 00 01 10 60 b2 1c 00 08 00 00 00 00 00 00 00
 ---
   40: 10 80 42 01 00 80 00 00 00 00 10 00 12 3c 12 04
   50: 40 00 11 70 60 b2 1c 00 08 00 40 01 00 00 00 00
 
 diff lspci.after_1st_removal.txt lspci.after_1st_re-insertion.txt
 267c267
LnkSta: Speed 2.5GT/s, Width x1, 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-27 Thread Yijing Wang
Hi Chris,
   Sorry for the delay reply. It seems like my reply last night was missed.

From the sysinfo you provide, there are no pcie port devices under 
/sys/bus/pci_express/devices.
Maybe because there are some problems with _OSC in your laptop, so pcie port 
driver won't create pcie port device
for hotplug, aer and so on.

Maybe you can add boot parameter pcie_ports=native and reboot your laptop.
Then use #modprobe pciehp pciehp_force=1 pciehp_debug=1 to load pciehp modules.
After above actions, enter /sys/bus/pci_express/devices/ directory and 
/sys/bus/pci/slots/
Some slots and pcie port devices should be there now.

/sys/bus/pci_express/devices:
total 0

/sys/bus/pci_express/drivers:
total 0
drwxr-xr-x 2 root root 0 Jan 27 13:17 pciehp/


On 2013/1/28 6:53, Chris Clayton wrote:
 Thanks again, Martin.
 
 Firstly, maybe we should remove the linux-media list from the copy list. I 
 imagine this hotplug stuff is just noise to them.
 
 [snip]
 Do you have any other express card around to try if it works at all? Try 
 that always after a cold boot.

 Not at the moment, but I ordered at USB3 expresscard yesterday, so I will 
 have one soon.
 
 Posting a diff result of the below procedure might help:

 # lspci -vvvxxx  lspci.before_insertion.txt

 [plug your card into the slot]

 # lspci -vvvxxx  lspci.after_insertion.txt

 [ unplug your card]

 # lspci -vvvxxx  lspci.after_1st_removal.txt

 [re-plug your card into the slot]

 # lspci -vvvxxx  lspci.after_1st_re-insertion.txt

 [ unplug your card]

 # lspci -vvvxxx  lspci.after_2nd_removal.txt

 
 OK, I've been using kernel 3.8.0-rc kernels so far, but given that is still 
 under development, I've switched to 3.7.4, mainly because you are having 
 success with 3.7.x, acpiphp and pcie_aspm=off. I verified the environment as 
 follows:
 
 [chris:~]$ cat /proc/cmdline
 root=/dev/sda5 pcie_aspm=off ro resume=/dev/sda6
 [chris:~]$ dmesg | grep ASPM
 [0.00] PCIe ASPM is disabled
 [0.348959]  pci:00: ACPI _OSC support notification failed, disabling 
 PCIe ASPM
 [chris:~]$ dmesg | grep acpiphp
 [0.400846] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
 [chris:~]$ dmesg | grep pciehp
 [chris:~]$ uname -a
 Linux laptop 3.7.4 #13 SMP PREEMPT Sun Jan 27 18:39:39 GMT 2013 i686 GNU/Linux
 
 
 Then compare them using diff. These should have no difference:

 diff lspci.after_insertion.txt lspci.after_1st_re-insertion.txt
 diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt

 Correct, there were no differences.
 

 These may have only little difference, or none:

 diff lspci.before_insertion.txt lspci.after_1st_removal.txt
 
 263c263
LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
 L0 1us, L1 16us
 ---
 LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
 L0 512ns, L1 16us
 265c265
LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- 
 CommClk-
 ---
 LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
 CommClk+
 267c267
LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ 
 DLActive- BWMgmt- ABWMgmt-
 ---
 LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ 
 DLActive- BWMgmt+ ABWMgmt-
 273c273
Changed: MRL- PresDet- LinkState-
 ---
 Changed: MRL- PresDet- LinkState+
 295,296c295,296
  40: 10 80 42 01 00 80 00 00 00 00 10 00 12 4c 12 04
  50: 03 00 01 10 60 b2 1c 00 08 00 00 00 00 00 00 00
 ---
   40: 10 80 42 01 00 80 00 00 00 00 10 00 12 3c 12 04
   50: 40 00 11 50 60 b2 1c 00 08 00 00 01 00 00 00 00
 
 diff lspci.after_1st_removal.txt lspci.after_2nd_removal.txt

 No difference.


 Finally, these should confirm whether the PresDet works for you (for me NOT 
 with pciehp but does work with acpiphp).
 You should see PresDet- to PresDet+ changes in:

 Yes, I do see the PresDet- to PresDet+ changes
 
 diff lspci.before_insertion.txt lspci.after_insertion.txt
 
 263c263
LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
 L0 1us, L1 16us
 ---
 LnkCap: Port #4, Speed 5GT/s, Width x1, ASPM L0s L1, Latency 
 L0 512ns, L1 16us
 265c265
LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- 
 CommClk-
 ---
 LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- 
 CommClk+
 267c267
LnkSta: Speed 2.5GT/s, Width x0, TrErr- Train- SlotClk+ 
 DLActive- BWMgmt- ABWMgmt-
 ---
 LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ 
 DLActive+ BWMgmt+ ABWMgmt-
 272,273c272,273
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet- 
 Interlock-
Changed: MRL- PresDet- LinkState-
 ---
 SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ 
 Interlock-
 Changed: MRL- PresDet- LinkState+
 295,296c295,296
  40: 10 80 42 01 00 80 00 00 00 00 10 00 12 4c 12 04
  50: 03 00 01 

Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-26 Thread Yijing Wang
于 2013-01-27 4:54, Chris Clayton 写道:
> Hi Martin,
> 
> On 01/24/13 19:21, Martin Mokrejs wrote:
>> Hi Chris,
>>try to include in kernel only acpiphp and omit pciehp. Don't use modules 
>> but include
>> them statically. And try, in addition, check whether "pcie_aspm=off" in 
>> grub.conf helped.
>>
> 
> Thanks for the tip. I had the pciehp driver installed, but it was a module 
> and not loaded. I didn't have acpiphp enabled at all. Building them both in 
> statically, appears to have papered over the cracks of the oops :-)

Not loaded pciehp driver? Remove the device from this slot without poweroff ?

> 
>>The best would if you subscribe to linux-pci, and read my recent threads
>> about similar issues I had with express cards with Dell Vostro 3550. 
>> Further, there is
>> a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, 
>> just browse the
>> archives of linux-pci and see the pacthes and the discussion.
> 
> Those discussions are way above my level of knowledge. I guess all this work 
> will be merged into mainline in due course, so I'll watch for them in 3.9 or 
> later. Unless, of course, there is a tree I could clone and help test the 
> changes with my laptop and expresscard.
> 
> Hotplug isn't working at all on my Fujitsu laptop, so I can only get the card 
> recognised by rebooting with the card inserted (or by writing 1 
> to/sys/bus/pci/rescan). There seem to be a few reports on this in the kernel 
> bugzilla, so I'll look through them and see what's being done.

Hi Chris,
   What about use #modprobe pciehp pciehp_debug=1 pciehp_poll_mode=1 
pciehp_poll_time=1 ?

Can you resend the dmesg log and "lspci -vvv" info after hotplug device from 
your Fujitsu laptop with above module parameters?

Thanks!
Yijing.

> Thanks again.
> 
> Chris
> 
>> Martin
>>
>> Chris Clayton wrote:
>>> Hi,
>>>
>>> I've today taken delivery of a WinTV-HVR-1400 expresscard TV Tuner and got 
>>> an Oops when I removed from the expresscard slot in my laptop. I will quite 
>>> understand if the response to this report is "don't do that!", but in that 
>>> case, how should one remove one of these cards?
>>>
>>> I have attached three files:
>>>
>>> 1. the dmesg output from when I rebooted the machine after the oops. I have 
>>> turned debugging on in the dib700p and cx23885 modules via modules options 
>>> in /etc/modprobe.d/hvr1400.conf;
>>>
>>> 2. the .config file for the kernel that oopsed.
>>>
>>> 3. the text of the oops message. I've typed this up from a photograph of 
>>> the screen because the laptop was locked up and there was nothing in the 
>>> log files. Apologies for any typos, but I have tried to be careful.
>>>
>>> Assuming the answer isn't don't do that, let me know if I can provide any 
>>> additional diagnostics, test any patches, etc. Please, however, cc me as 
>>> I'm not subscribed.
>>>
>>> Chris
> -- 
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-26 Thread Martin Mokrejs
Hi Chris,

Chris Clayton wrote:
> Hi Martin,
> 
> On 01/24/13 19:21, Martin Mokrejs wrote:
>> Hi Chris,
>>try to include in kernel only acpiphp and omit pciehp. Don't use modules 
>> but include
>> them statically. And try, in addition, check whether "pcie_aspm=off" in 
>> grub.conf helped.
>>
> 
> Thanks for the tip. I had the pciehp driver installed, but it was a module 
> and not loaded. I didn't have acpiphp enabled at all. Building them both in 
> statically, appears to have papered over the cracks of the oops :-)
> 
>>The best would if you subscribe to linux-pci, and read my recent threads
>> about similar issues I had with express cards with Dell Vostro 3550. 
>> Further, there is
>> a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, 
>> just browse the
>> archives of linux-pci and see the pacthes and the discussion.
> 
> Those discussions are way above my level of knowledge. I guess all this work 
> will be merged into mainline in due course, so I'll watch for them in 3.9 or 
> later. Unless, of course, there is a tree I could clone and help test the 
> changes with my laptop and expresscard.
> 
> Hotplug isn't working at all on my Fujitsu laptop, so I can only get the card 
> recognised by rebooting with the card inserted (or by writing 1 
> to/sys/bus/pci/rescan). There seem to be a few reports on this in the kernel 
> bugzilla, so I'll look through them and see what's being done.

That's what I suspected. Compile in statically acpiphp, no pciehp at all (not 
even as a module).
Then it might work for you -- at least it does for me, provided I use 
"pcie_aspm=off".

Martin

> 
> Thanks again.
> 
> Chris
> 
>> Martin
>>
>> Chris Clayton wrote:
>>> Hi,
>>>
>>> I've today taken delivery of a WinTV-HVR-1400 expresscard TV Tuner and got 
>>> an Oops when I removed from the expresscard slot in my laptop. I will quite 
>>> understand if the response to this report is "don't do that!", but in that 
>>> case, how should one remove one of these cards?
>>>
>>> I have attached three files:
>>>
>>> 1. the dmesg output from when I rebooted the machine after the oops. I have 
>>> turned debugging on in the dib700p and cx23885 modules via modules options 
>>> in /etc/modprobe.d/hvr1400.conf;
>>>
>>> 2. the .config file for the kernel that oopsed.
>>>
>>> 3. the text of the oops message. I've typed this up from a photograph of 
>>> the screen because the laptop was locked up and there was nothing in the 
>>> log files. Apologies for any typos, but I have tried to be careful.
>>>
>>> Assuming the answer isn't don't do that, let me know if I can provide any 
>>> additional diagnostics, test any patches, etc. Please, however, cc me as 
>>> I'm not subscribed.
>>>
>>> Chris
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-26 Thread Chris Clayton

Hi Martin,

On 01/24/13 19:21, Martin Mokrejs wrote:

Hi Chris,
   try to include in kernel only acpiphp and omit pciehp. Don't use modules but 
include
them statically. And try, in addition, check whether "pcie_aspm=off" in 
grub.conf helped.



Thanks for the tip. I had the pciehp driver installed, but it was a 
module and not loaded. I didn't have acpiphp enabled at all. Building 
them both in statically, appears to have papered over the cracks of the 
oops :-)



   The best would if you subscribe to linux-pci, and read my recent threads
about similar issues I had with express cards with Dell Vostro 3550. Further, 
there is
a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, just 
browse the
archives of linux-pci and see the pacthes and the discussion.


Those discussions are way above my level of knowledge. I guess all this 
work will be merged into mainline in due course, so I'll watch for them 
in 3.9 or later. Unless, of course, there is a tree I could clone and 
help test the changes with my laptop and expresscard.


Hotplug isn't working at all on my Fujitsu laptop, so I can only get the 
card recognised by rebooting with the card inserted (or by writing 1 
to/sys/bus/pci/rescan). There seem to be a few reports on this in the 
kernel bugzilla, so I'll look through them and see what's being done.


Thanks again.

Chris


Martin

Chris Clayton wrote:

Hi,

I've today taken delivery of a WinTV-HVR-1400 expresscard TV Tuner and got an Oops when I 
removed from the expresscard slot in my laptop. I will quite understand if the response 
to this report is "don't do that!", but in that case, how should one remove one 
of these cards?

I have attached three files:

1. the dmesg output from when I rebooted the machine after the oops. I have 
turned debugging on in the dib700p and cx23885 modules via modules options in 
/etc/modprobe.d/hvr1400.conf;

2. the .config file for the kernel that oopsed.

3. the text of the oops message. I've typed this up from a photograph of the 
screen because the laptop was locked up and there was nothing in the log files. 
Apologies for any typos, but I have tried to be careful.

Assuming the answer isn't don't do that, let me know if I can provide any 
additional diagnostics, test any patches, etc. Please, however, cc me as I'm 
not subscribed.

Chris

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-26 Thread Chris Clayton

Hi Martin,

On 01/24/13 19:21, Martin Mokrejs wrote:

Hi Chris,
   try to include in kernel only acpiphp and omit pciehp. Don't use modules but 
include
them statically. And try, in addition, check whether pcie_aspm=off in 
grub.conf helped.



Thanks for the tip. I had the pciehp driver installed, but it was a 
module and not loaded. I didn't have acpiphp enabled at all. Building 
them both in statically, appears to have papered over the cracks of the 
oops :-)



   The best would if you subscribe to linux-pci, and read my recent threads
about similar issues I had with express cards with Dell Vostro 3550. Further, 
there is
a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, just 
browse the
archives of linux-pci and see the pacthes and the discussion.


Those discussions are way above my level of knowledge. I guess all this 
work will be merged into mainline in due course, so I'll watch for them 
in 3.9 or later. Unless, of course, there is a tree I could clone and 
help test the changes with my laptop and expresscard.


Hotplug isn't working at all on my Fujitsu laptop, so I can only get the 
card recognised by rebooting with the card inserted (or by writing 1 
to/sys/bus/pci/rescan). There seem to be a few reports on this in the 
kernel bugzilla, so I'll look through them and see what's being done.


Thanks again.

Chris


Martin

Chris Clayton wrote:

Hi,

I've today taken delivery of a WinTV-HVR-1400 expresscard TV Tuner and got an Oops when I 
removed from the expresscard slot in my laptop. I will quite understand if the response 
to this report is don't do that!, but in that case, how should one remove one 
of these cards?

I have attached three files:

1. the dmesg output from when I rebooted the machine after the oops. I have 
turned debugging on in the dib700p and cx23885 modules via modules options in 
/etc/modprobe.d/hvr1400.conf;

2. the .config file for the kernel that oopsed.

3. the text of the oops message. I've typed this up from a photograph of the 
screen because the laptop was locked up and there was nothing in the log files. 
Apologies for any typos, but I have tried to be careful.

Assuming the answer isn't don't do that, let me know if I can provide any 
additional diagnostics, test any patches, etc. Please, however, cc me as I'm 
not subscribed.

Chris

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-26 Thread Martin Mokrejs
Hi Chris,

Chris Clayton wrote:
 Hi Martin,
 
 On 01/24/13 19:21, Martin Mokrejs wrote:
 Hi Chris,
try to include in kernel only acpiphp and omit pciehp. Don't use modules 
 but include
 them statically. And try, in addition, check whether pcie_aspm=off in 
 grub.conf helped.

 
 Thanks for the tip. I had the pciehp driver installed, but it was a module 
 and not loaded. I didn't have acpiphp enabled at all. Building them both in 
 statically, appears to have papered over the cracks of the oops :-)
 
The best would if you subscribe to linux-pci, and read my recent threads
 about similar issues I had with express cards with Dell Vostro 3550. 
 Further, there is
 a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, 
 just browse the
 archives of linux-pci and see the pacthes and the discussion.
 
 Those discussions are way above my level of knowledge. I guess all this work 
 will be merged into mainline in due course, so I'll watch for them in 3.9 or 
 later. Unless, of course, there is a tree I could clone and help test the 
 changes with my laptop and expresscard.
 
 Hotplug isn't working at all on my Fujitsu laptop, so I can only get the card 
 recognised by rebooting with the card inserted (or by writing 1 
 to/sys/bus/pci/rescan). There seem to be a few reports on this in the kernel 
 bugzilla, so I'll look through them and see what's being done.

That's what I suspected. Compile in statically acpiphp, no pciehp at all (not 
even as a module).
Then it might work for you -- at least it does for me, provided I use 
pcie_aspm=off.

Martin

 
 Thanks again.
 
 Chris
 
 Martin

 Chris Clayton wrote:
 Hi,

 I've today taken delivery of a WinTV-HVR-1400 expresscard TV Tuner and got 
 an Oops when I removed from the expresscard slot in my laptop. I will quite 
 understand if the response to this report is don't do that!, but in that 
 case, how should one remove one of these cards?

 I have attached three files:

 1. the dmesg output from when I rebooted the machine after the oops. I have 
 turned debugging on in the dib700p and cx23885 modules via modules options 
 in /etc/modprobe.d/hvr1400.conf;

 2. the .config file for the kernel that oopsed.

 3. the text of the oops message. I've typed this up from a photograph of 
 the screen because the laptop was locked up and there was nothing in the 
 log files. Apologies for any typos, but I have tried to be careful.

 Assuming the answer isn't don't do that, let me know if I can provide any 
 additional diagnostics, test any patches, etc. Please, however, cc me as 
 I'm not subscribed.

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-26 Thread Yijing Wang
于 2013-01-27 4:54, Chris Clayton 写道:
 Hi Martin,
 
 On 01/24/13 19:21, Martin Mokrejs wrote:
 Hi Chris,
try to include in kernel only acpiphp and omit pciehp. Don't use modules 
 but include
 them statically. And try, in addition, check whether pcie_aspm=off in 
 grub.conf helped.

 
 Thanks for the tip. I had the pciehp driver installed, but it was a module 
 and not loaded. I didn't have acpiphp enabled at all. Building them both in 
 statically, appears to have papered over the cracks of the oops :-)

Not loaded pciehp driver? Remove the device from this slot without poweroff ?

 
The best would if you subscribe to linux-pci, and read my recent threads
 about similar issues I had with express cards with Dell Vostro 3550. 
 Further, there is
 a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, 
 just browse the
 archives of linux-pci and see the pacthes and the discussion.
 
 Those discussions are way above my level of knowledge. I guess all this work 
 will be merged into mainline in due course, so I'll watch for them in 3.9 or 
 later. Unless, of course, there is a tree I could clone and help test the 
 changes with my laptop and expresscard.
 
 Hotplug isn't working at all on my Fujitsu laptop, so I can only get the card 
 recognised by rebooting with the card inserted (or by writing 1 
 to/sys/bus/pci/rescan). There seem to be a few reports on this in the kernel 
 bugzilla, so I'll look through them and see what's being done.

Hi Chris,
   What about use #modprobe pciehp pciehp_debug=1 pciehp_poll_mode=1 
pciehp_poll_time=1 ?

Can you resend the dmesg log and lspci -vvv info after hotplug device from 
your Fujitsu laptop with above module parameters?

Thanks!
Yijing.

 Thanks again.
 
 Chris
 
 Martin

 Chris Clayton wrote:
 Hi,

 I've today taken delivery of a WinTV-HVR-1400 expresscard TV Tuner and got 
 an Oops when I removed from the expresscard slot in my laptop. I will quite 
 understand if the response to this report is don't do that!, but in that 
 case, how should one remove one of these cards?

 I have attached three files:

 1. the dmesg output from when I rebooted the machine after the oops. I have 
 turned debugging on in the dib700p and cx23885 modules via modules options 
 in /etc/modprobe.d/hvr1400.conf;

 2. the .config file for the kernel that oopsed.

 3. the text of the oops message. I've typed this up from a photograph of 
 the screen because the laptop was locked up and there was nothing in the 
 log files. Apologies for any typos, but I have tried to be careful.

 Assuming the answer isn't don't do that, let me know if I can provide any 
 additional diagnostics, test any patches, etc. Please, however, cc me as 
 I'm not subscribed.

 Chris
 -- 
 To unsubscribe from this list: send the line unsubscribe linux-pci in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 

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


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-24 Thread Martin Mokrejs
Hi Chris,
  try to include in kernel only acpiphp and omit pciehp. Don't use modules but 
include
them statically. And try, in addition, check whether "pcie_aspm=off" in 
grub.conf helped.

  The best would if you subscribe to linux-pci, and read my recent threads
about similar issues I had with express cards with Dell Vostro 3550. Further, 
there is
a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, just 
browse the
archives of linux-pci and see the pacthes and the discussion.
Martin

Chris Clayton wrote:
> Hi,
> 
> I've today taken delivery of a WinTV-HVR-1400 expresscard TV Tuner and got an 
> Oops when I removed from the expresscard slot in my laptop. I will quite 
> understand if the response to this report is "don't do that!", but in that 
> case, how should one remove one of these cards?
> 
> I have attached three files:
> 
> 1. the dmesg output from when I rebooted the machine after the oops. I have 
> turned debugging on in the dib700p and cx23885 modules via modules options in 
> /etc/modprobe.d/hvr1400.conf;
> 
> 2. the .config file for the kernel that oopsed.
> 
> 3. the text of the oops message. I've typed this up from a photograph of the 
> screen because the laptop was locked up and there was nothing in the log 
> files. Apologies for any typos, but I have tried to be careful.
> 
> Assuming the answer isn't don't do that, let me know if I can provide any 
> additional diagnostics, test any patches, etc. Please, however, cc me as I'm 
> not subscribed.
> 
> Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 3.8.0-rc4+ - Oops on removing WinTV-HVR-1400 expresscard TV Tuner

2013-01-24 Thread Martin Mokrejs
Hi Chris,
  try to include in kernel only acpiphp and omit pciehp. Don't use modules but 
include
them statically. And try, in addition, check whether pcie_aspm=off in 
grub.conf helped.

  The best would if you subscribe to linux-pci, and read my recent threads
about similar issues I had with express cards with Dell Vostro 3550. Further, 
there is
a lot of changes to PCI hotplug done by Yingahi Liu and Rafael Wysockij, just 
browse the
archives of linux-pci and see the pacthes and the discussion.
Martin

Chris Clayton wrote:
 Hi,
 
 I've today taken delivery of a WinTV-HVR-1400 expresscard TV Tuner and got an 
 Oops when I removed from the expresscard slot in my laptop. I will quite 
 understand if the response to this report is don't do that!, but in that 
 case, how should one remove one of these cards?
 
 I have attached three files:
 
 1. the dmesg output from when I rebooted the machine after the oops. I have 
 turned debugging on in the dib700p and cx23885 modules via modules options in 
 /etc/modprobe.d/hvr1400.conf;
 
 2. the .config file for the kernel that oopsed.
 
 3. the text of the oops message. I've typed this up from a photograph of the 
 screen because the laptop was locked up and there was nothing in the log 
 files. Apologies for any typos, but I have tried to be careful.
 
 Assuming the answer isn't don't do that, let me know if I can provide any 
 additional diagnostics, test any patches, etc. Please, however, cc me as I'm 
 not subscribed.
 
 Chris
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/