Linux ATA/IDE development
 help / color / mirror / Atom feed
* Re: ahci.c
       [not found] <BAY122-DS4E91A6CF6FAF2D10B80E9BEB20@phx.gbl>
@ 2008-06-12  2:50 ` Jeff Garzik
  2008-06-12  3:26   ` ahci.c dunneil
                     ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Jeff Garzik @ 2008-06-12  2:50 UTC (permalink / raw)
  To: dunneil; +Cc: linux-ide

dunneil wrote:
> hi,
>  
>   My hardware is AHCI SATA controller with FPGA-based PCIE board.My 
> kernel is 2.6.20.7. after insmod ahci.ko, i run lspci -xxxxvvvv 
> command.but,it seems that it doesn't set the BUS master enable bit of 
> PCIE header command register.plz check my header content.
>  
>   But,i run Pcitree software at windows.The BUS master enable is 
> observed to be set,and that i can read out a part of sata register value.
>  
>   how to debug this issue?

ahci.c calls pci_set_master() to enable the BusMaster bit.

	Jeff






^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ahci.c
  2008-06-12  2:50 ` ahci.c Jeff Garzik
@ 2008-06-12  3:26   ` dunneil
  2008-06-12  6:44   ` ahci.c dunneil
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 12+ messages in thread
From: dunneil @ 2008-06-12  3:26 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-ide

Maybe,Didn't the driver reach the function pci_set_master() because of other 
initial or error?

I try to load other myself driver(for ethernet,it also call 
pci_set_master() ),and the Bus Master Enable can be set!

Can i comment out some unnecessary initial or step?

--------------------------------------------------
From: "Jeff Garzik" <jgarzik@pobox.com>
Sent: Thursday, June 12, 2008 10:50 AM
To: "dunneil" <dunneil@live.cn>
Cc: <linux-ide@vger.kernel.org>
Subject: Re: ahci.c

> dunneil wrote:
>> hi,
>>
>>   My hardware is AHCI SATA controller with FPGA-based PCIE board.My
>> kernel is 2.6.20.7. after insmod ahci.ko, i run lspci -xxxxvvvv
>> command.but,it seems that it doesn't set the BUS master enable bit of
>> PCIE header command register.plz check my header content.
>>
>>   But,i run Pcitree software at windows.The BUS master enable is
>> observed to be set,and that i can read out a part of sata register value.
>>
>>   how to debug this issue?
>
> ahci.c calls pci_set_master() to enable the BusMaster bit.
>
> Jeff
>
>
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ide" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ahci.c
  2008-06-12  2:50 ` ahci.c Jeff Garzik
  2008-06-12  3:26   ` ahci.c dunneil
@ 2008-06-12  6:44   ` dunneil
  2008-06-13  7:50   ` ahci.c dunneil
  2008-06-13  7:52   ` ahci.c dunneil
  3 siblings, 0 replies; 12+ messages in thread
From: dunneil @ 2008-06-12  6:44 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-ide

My asata controller is based-PCIEx1 1-port SATA controller.



--------------------------------------------------
From: "Jeff Garzik" <jgarzik@pobox.com>
Sent: Thursday, June 12, 2008 10:50 AM
To: "dunneil" <dunneil@live.cn>
Cc: <linux-ide@vger.kernel.org>
Subject: Re: ahci.c

> dunneil wrote:
>> hi,
>>
>>   My hardware is AHCI SATA controller with FPGA-based PCIE board.My
>> kernel is 2.6.20.7. after insmod ahci.ko, i run lspci -xxxxvvvv
>> command.but,it seems that it doesn't set the BUS master enable bit of
>> PCIE header command register.plz check my header content.
>>
>>   But,i run Pcitree software at windows.The BUS master enable is
>> observed to be set,and that i can read out a part of sata register value.
>>
>>   how to debug this issue?
>
> ahci.c calls pci_set_master() to enable the BusMaster bit.
>
> Jeff
>
>
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ide" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ahci.c
  2008-06-12  2:50 ` ahci.c Jeff Garzik
  2008-06-12  3:26   ` ahci.c dunneil
  2008-06-12  6:44   ` ahci.c dunneil
@ 2008-06-13  7:50   ` dunneil
  2008-06-13  7:52   ` ahci.c dunneil
  3 siblings, 0 replies; 12+ messages in thread
From: dunneil @ 2008-06-13  7:50 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-ide

if there are two ASATA controller inside motherboard, it will cause conflict 
for BUS Master Enable bit?

--------------------------------------------------
From: "Jeff Garzik" <jgarzik@pobox.com>
Sent: Thursday, June 12, 2008 10:50 AM
To: "dunneil" <dunneil@live.cn>
Cc: <linux-ide@vger.kernel.org>
Subject: Re: ahci.c

> dunneil wrote:
>> hi,
>>
>>   My hardware is AHCI SATA controller with FPGA-based PCIE board.My
>> kernel is 2.6.20.7. after insmod ahci.ko, i run lspci -xxxxvvvv
>> command.but,it seems that it doesn't set the BUS master enable bit of
>> PCIE header command register.plz check my header content.
>>
>>   But,i run Pcitree software at windows.The BUS master enable is
>> observed to be set,and that i can read out a part of sata register value.
>>
>>   how to debug this issue?
>
> ahci.c calls pci_set_master() to enable the BusMaster bit.
>
> Jeff
>
>
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ide" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ahci.c
  2008-06-12  2:50 ` ahci.c Jeff Garzik
                     ` (2 preceding siblings ...)
  2008-06-13  7:50   ` ahci.c dunneil
@ 2008-06-13  7:52   ` dunneil
  2008-06-13  8:49     ` ahci.c Jeff Garzik
  3 siblings, 1 reply; 12+ messages in thread
From: dunneil @ 2008-06-13  7:52 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-ide

if there are two ASATA controller inside motherboard, it will cause conflict
for BUS Master Enable bit? Do i need disable the motherboard integrated 
ASATA controoller for my separate ASATA controller FPGA board?


--------------------------------------------------
From: "Jeff Garzik" <jgarzik@pobox.com>
Sent: Thursday, June 12, 2008 10:50 AM
To: "dunneil" <dunneil@live.cn>
Cc: <linux-ide@vger.kernel.org>
Subject: Re: ahci.c

> dunneil wrote:
>> hi,
>>
>>   My hardware is AHCI SATA controller with FPGA-based PCIE board.My
>> kernel is 2.6.20.7. after insmod ahci.ko, i run lspci -xxxxvvvv
>> command.but,it seems that it doesn't set the BUS master enable bit of
>> PCIE header command register.plz check my header content.
>>
>>   But,i run Pcitree software at windows.The BUS master enable is
>> observed to be set,and that i can read out a part of sata register value.
>>
>>   how to debug this issue?
>
> ahci.c calls pci_set_master() to enable the BusMaster bit.
>
> Jeff
>
>
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ide" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ahci.c
  2008-06-13  7:52   ` ahci.c dunneil
@ 2008-06-13  8:49     ` Jeff Garzik
  2008-06-13  9:19       ` ahci.c dunneil
                         ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Jeff Garzik @ 2008-06-13  8:49 UTC (permalink / raw)
  To: dunneil; +Cc: linux-ide

dunneil wrote:
> if there are two ASATA controller inside motherboard, it will cause 
> conflict
> for BUS Master Enable bit? Do i need disable the motherboard integrated 
> ASATA controoller for my separate ASATA controller FPGA board?

You can have as many AHCI PCI devices as you wish.

Each PCI device has its own Bus Master Enable bit in the PCI Command
register.

	Jeff




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ahci.c
  2008-06-13  8:49     ` ahci.c Jeff Garzik
@ 2008-06-13  9:19       ` dunneil
  2008-06-13  9:42         ` ahci.c Jeff Garzik
  2008-06-13 11:53       ` ahci.c dunneil
                         ` (2 subsequent siblings)
  3 siblings, 1 reply; 12+ messages in thread
From: dunneil @ 2008-06-13  9:19 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-ide

thx your response~

my test step is as following.


My asata controller is based-PCIEx1 1-port SATA controller.The ASATA FPGA 
board is plugged into PC motherboard. My os is AS5.1.the kernel is 2.6.20.7.

1>
Before insmod ahci.ko manualy, the {IO,Mem,BusMaster}=3'b111.

After insmod ahci.ko manualy,the {IO,Mem,BusMaster}=3'b110.

The Bus Master Enable is not be set.

2> I load my available ethernet NIC driver. My NIC and SATA Controller 
hardware architecture is similar,especially pci part.

The BusMasterEnable can be set by the ethernet NIC driver.

how to debug?


thanks a lot

--------------------------------------------------
From: "Jeff Garzik" <jgarzik@pobox.com>
Sent: Friday, June 13, 2008 4:49 PM
To: "dunneil" <dunneil@live.cn>
Cc: <linux-ide@vger.kernel.org>
Subject: Re: ahci.c

> dunneil wrote:
>> if there are two ASATA controller inside motherboard, it will cause
>> conflict
>> for BUS Master Enable bit? Do i need disable the motherboard integrated
>> ASATA controoller for my separate ASATA controller FPGA board?
>
> You can have as many AHCI PCI devices as you wish.
>
> Each PCI device has its own Bus Master Enable bit in the PCI Command
> register.
>
> Jeff
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ide" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ahci.c
  2008-06-13  9:19       ` ahci.c dunneil
@ 2008-06-13  9:42         ` Jeff Garzik
  2008-06-13 13:20           ` ahci.c dunneil
  0 siblings, 1 reply; 12+ messages in thread
From: Jeff Garzik @ 2008-06-13  9:42 UTC (permalink / raw)
  To: dunneil; +Cc: linux-ide

dunneil wrote:
> thx your response~
> 
> my test step is as following.
> 
> 
> My asata controller is based-PCIEx1 1-port SATA controller.The ASATA 
> FPGA board is plugged into PC motherboard. My os is AS5.1.the kernel is 
> 2.6.20.7.
> 
> 1>
> Before insmod ahci.ko manualy, the {IO,Mem,BusMaster}=3'b111.
> 
> After insmod ahci.ko manualy,the {IO,Mem,BusMaster}=3'b110.
> 
> The Bus Master Enable is not be set.
> 
> 2> I load my available ethernet NIC driver. My NIC and SATA Controller 
> hardware architecture is similar,especially pci part.
> 
> The BusMasterEnable can be set by the ethernet NIC driver.
> 
> how to debug?

At this point you need to buy some books on PCI and such and master the
basics.

We are not here to teach you everything in the world about PCI or AHCI,
nor are we here to debug your FPGA hardware setup.

If you are going to be working at a low level, you are expected to know
this stuff already.

	Jeff



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ahci.c
  2008-06-13  8:49     ` ahci.c Jeff Garzik
  2008-06-13  9:19       ` ahci.c dunneil
@ 2008-06-13 11:53       ` dunneil
  2008-06-13 11:54       ` ahci.c dunneil
  2008-06-14 14:08       ` ahci.c dunneil
  3 siblings, 0 replies; 12+ messages in thread
From: dunneil @ 2008-06-13 11:53 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-ide

dmesg report:

ahci 0000:03:00.0 version 2.0
ACPI:PCI Interrupt 0000:03:00.0[A] -> GSI 16 (level,low) -> IRQ 16
ACPI:PCI Interrupt for device 0000:03:00.0 disabled
ahci:probe of 0000:03:00.0 failed with error -12

--------------------------------------------------
From: "Jeff Garzik" <jgarzik@pobox.com>
Sent: Friday, June 13, 2008 4:49 PM
To: "dunneil" <dunneil@live.cn>
Cc: <linux-ide@vger.kernel.org>
Subject: Re: ahci.c

> dunneil wrote:
>> if there are two ASATA controller inside motherboard, it will cause 
>> conflict
>> for BUS Master Enable bit? Do i need disable the motherboard integrated 
>> ASATA controoller for my separate ASATA controller FPGA board?
> 
> You can have as many AHCI PCI devices as you wish.
> 
> Each PCI device has its own Bus Master Enable bit in the PCI Command
> register.
> 
> Jeff
> 
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ide" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ahci.c
  2008-06-13  8:49     ` ahci.c Jeff Garzik
  2008-06-13  9:19       ` ahci.c dunneil
  2008-06-13 11:53       ` ahci.c dunneil
@ 2008-06-13 11:54       ` dunneil
  2008-06-14 14:08       ` ahci.c dunneil
  3 siblings, 0 replies; 12+ messages in thread
From: dunneil @ 2008-06-13 11:54 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-ide

Mine is MSI interrupt.

--------------------------------------------------
From: "Jeff Garzik" <jgarzik@pobox.com>
Sent: Friday, June 13, 2008 4:49 PM
To: "dunneil" <dunneil@live.cn>
Cc: <linux-ide@vger.kernel.org>
Subject: Re: ahci.c

> dunneil wrote:
>> if there are two ASATA controller inside motherboard, it will cause 
>> conflict
>> for BUS Master Enable bit? Do i need disable the motherboard integrated 
>> ASATA controoller for my separate ASATA controller FPGA board?
> 
> You can have as many AHCI PCI devices as you wish.
> 
> Each PCI device has its own Bus Master Enable bit in the PCI Command
> register.
> 
> Jeff
> 
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ide" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ahci.c
  2008-06-13  9:42         ` ahci.c Jeff Garzik
@ 2008-06-13 13:20           ` dunneil
  0 siblings, 0 replies; 12+ messages in thread
From: dunneil @ 2008-06-13 13:20 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-ide

it seems that the memory allocate is failed.

	probe_ent = kmalloc(sizeof(*probe_ent), GFP_KERNEL);

why?

--------------------------------------------------
From: "Jeff Garzik" <jgarzik@pobox.com>
Sent: Friday, June 13, 2008 5:42 PM
To: "dunneil" <dunneil@live.cn>
Cc: <linux-ide@vger.kernel.org>
Subject: Re: ahci.c

> dunneil wrote:
>> thx your response~
>> 
>> my test step is as following.
>> 
>> 
>> My asata controller is based-PCIEx1 1-port SATA controller.The ASATA 
>> FPGA board is plugged into PC motherboard. My os is AS5.1.the kernel is 
>> 2.6.20.7.
>> 
>> 1>
>> Before insmod ahci.ko manualy, the {IO,Mem,BusMaster}=3'b111.
>> 
>> After insmod ahci.ko manualy,the {IO,Mem,BusMaster}=3'b110.
>> 
>> The Bus Master Enable is not be set.
>> 
>> 2> I load my available ethernet NIC driver. My NIC and SATA Controller 
>> hardware architecture is similar,especially pci part.
>> 
>> The BusMasterEnable can be set by the ethernet NIC driver.
>> 
>> how to debug?
> 
> At this point you need to buy some books on PCI and such and master the
> basics.
> 
> We are not here to teach you everything in the world about PCI or AHCI,
> nor are we here to debug your FPGA hardware setup.
> 
> If you are going to be working at a low level, you are expected to know
> this stuff already.
> 
> Jeff
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ide" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: ahci.c
  2008-06-13  8:49     ` ahci.c Jeff Garzik
                         ` (2 preceding siblings ...)
  2008-06-13 11:54       ` ahci.c dunneil
@ 2008-06-14 14:08       ` dunneil
  3 siblings, 0 replies; 12+ messages in thread
From: dunneil @ 2008-06-14 14:08 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-ide

The ASATA Controller BAR0~BAR4 must be alloccated IO bar,BAR5 must be 
allocated Memory BAR?

The Bar0~4 IO Bar is option or necessary?

--------------------------------------------------
From: "Jeff Garzik" <jgarzik@pobox.com>
Sent: Friday, June 13, 2008 4:49 PM
To: "dunneil" <dunneil@live.cn>
Cc: <linux-ide@vger.kernel.org>
Subject: Re: ahci.c

> dunneil wrote:
>> if there are two ASATA controller inside motherboard, it will cause
>> conflict
>> for BUS Master Enable bit? Do i need disable the motherboard integrated
>> ASATA controoller for my separate ASATA controller FPGA board?
>
> You can have as many AHCI PCI devices as you wish.
>
> Each PCI device has its own Bus Master Enable bit in the PCI Command
> register.
>
> Jeff
>
>
>
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2008-06-14 14:10 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <BAY122-DS4E91A6CF6FAF2D10B80E9BEB20@phx.gbl>
2008-06-12  2:50 ` ahci.c Jeff Garzik
2008-06-12  3:26   ` ahci.c dunneil
2008-06-12  6:44   ` ahci.c dunneil
2008-06-13  7:50   ` ahci.c dunneil
2008-06-13  7:52   ` ahci.c dunneil
2008-06-13  8:49     ` ahci.c Jeff Garzik
2008-06-13  9:19       ` ahci.c dunneil
2008-06-13  9:42         ` ahci.c Jeff Garzik
2008-06-13 13:20           ` ahci.c dunneil
2008-06-13 11:53       ` ahci.c dunneil
2008-06-13 11:54       ` ahci.c dunneil
2008-06-14 14:08       ` ahci.c dunneil

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox