Re: [PATCH 5/6] mtip32xx: convert internal command issue to block IO path

2017-04-28 Thread Jens Axboe
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

Re: [PATCH 5/6] mtip32xx: convert internal command issue to block IO path

2017-04-28 Thread Christoph Hellwig
> @@ -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

[PATCH 5/6] mtip32xx: convert internal command issue to block IO path

2017-04-28 Thread Jens Axboe
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

Re: [PATCH 5/6] mtip32xx: convert internal command issue to block IO path

2017-04-27 Thread Jens Axboe
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

Re: [PATCH 5/6] mtip32xx: convert internal command issue to block IO path

2017-04-27 Thread Bart Van Assche
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

[PATCH 5/6] mtip32xx: convert internal command issue to block IO path

2017-04-27 Thread Jens Axboe
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