spi: core: allow reporting the effectivly used speed_hz for a transfer
Provide a means for the spi bus driver to report the effectively used spi clock frequency used for each spi_transfer. Signed-off-by: Martin Sperl <kernel@martin.sperl.org> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
		
							parent
							
								
									e727d4cbc7
								
							
						
					
					
						commit
						5d7e2b5ed5
					
				| @ -3126,6 +3126,7 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message) | ||||
| 	 */ | ||||
| 	message->frame_length = 0; | ||||
| 	list_for_each_entry(xfer, &message->transfers, transfer_list) { | ||||
| 		xfer->effective_speed_hz = 0; | ||||
| 		message->frame_length += xfer->len; | ||||
| 		if (!xfer->bits_per_word) | ||||
| 			xfer->bits_per_word = spi->bits_per_word; | ||||
|  | ||||
| @ -745,6 +745,9 @@ extern void spi_res_release(struct spi_controller *ctlr, | ||||
|  *	(set by bits_per_word) transmission. | ||||
|  * @word_delay: clock cycles to inter word delay after each word size | ||||
|  *	(set by bits_per_word) transmission. | ||||
|  * @effective_speed_hz: the effective SCK-speed that was used to | ||||
|  *      transfer this transfer. Set to 0 if the spi bus driver does | ||||
|  *      not support it. | ||||
|  * @transfer_list: transfers are sequenced through @spi_message.transfers | ||||
|  * @tx_sg: Scatterlist for transmit, currently not for client use | ||||
|  * @rx_sg: Scatterlist for receive, currently not for client use | ||||
| @ -835,6 +838,8 @@ struct spi_transfer { | ||||
| 	u32		speed_hz; | ||||
| 	u16		word_delay; | ||||
| 
 | ||||
| 	u32		effective_speed_hz; | ||||
| 
 | ||||
| 	struct list_head transfer_list; | ||||
| }; | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user