On 04/28/2017 08:49 AM, Christoph Hellwig wrote:
>> @@ -1088,6 +1088,13 @@ static int mtip_quiesce_io(struct mtip_port *port,
>> unsigned long timeout)
>> return -EFAULT;
>> }
>>
>> +struct mtip_int_cmd {
>> +int fis_len;
>> +dma_addr_t buffer;
>> +int buf_len;
>> +u32
> @@ -1088,6 +1088,13 @@ static int mtip_quiesce_io(struct mtip_port *port,
> unsigned long timeout)
> return -EFAULT;
> }
>
> +struct mtip_int_cmd {
> + int fis_len;
> + dma_addr_t buffer;
> + int buf_len;
> + u32 opts;
> +};
I know passing the dma_addr is probably the
The driver special cases certain things for command issue, depending
on whether it's an internal command or not. Make the internal commands
use the regular infrastructure for issuing IO.
Since this is an 8-group souped up AHCI variant, we have to deal
with NCQ vs non-queueable commands. Do this
On 04/27/2017 05:29 PM, Bart Van Assche wrote:
> On Thu, 2017-04-27 at 16:51 -0600, Jens Axboe wrote:
>> @@ -1114,10 +1121,16 @@ static int mtip_exec_internal_command(struct
>> mtip_port *port,
>> u32 opts,
>> unsigned long
On Thu, 2017-04-27 at 16:51 -0600, Jens Axboe wrote:
> @@ -1114,10 +1121,16 @@ static int mtip_exec_internal_command(struct
> mtip_port *port,
> u32 opts,
> unsigned long timeout)
> {
> - struct mtip_cmd_sg
The driver special cases certain things for command issue, depending
on whether it's an internal command or not. Make the internal commands
use the regular infrastructure for issuing IO.
Since this is an 8-group souped up AHCI variant, we have to deal
with NCQ vs non-queueable commands. Do this