genesys: Pass asic type to sanei_genesys_get_bulk_max_size()

merge-requests/161/head
Povilas Kanapickas 2019-09-12 20:28:45 +03:00
rodzic ce2d9840a7
commit a0cead1cd5
3 zmienionych plików z 10 dodań i 10 usunięć

Wyświetl plik

@ -1883,8 +1883,8 @@ dummy \ scanned lines
requested_buffer_size = 8 * session.output_line_bytes; requested_buffer_size = 8 * session.output_line_bytes;
// we must use a multiple of session.output_line_bytes // we must use a multiple of session.output_line_bytes
if (requested_buffer_size > sanei_genesys_get_bulk_max_size(dev)) { if (requested_buffer_size > sanei_genesys_get_bulk_max_size(dev->model->asic_type)) {
requested_buffer_size = (sanei_genesys_get_bulk_max_size(dev) / session.output_line_bytes) * session.output_line_bytes; requested_buffer_size = (sanei_genesys_get_bulk_max_size(dev->model->asic_type) / session.output_line_bytes) * session.output_line_bytes;
} }
read_buffer_size = 2 * requested_buffer_size + read_buffer_size = 2 * requested_buffer_size +

Wyświetl plik

@ -183,7 +183,7 @@ void sanei_genesys_write_pnm_file16(const char* filename, uint16_t* data, unsign
/* Read and write RAM, registers and AFE */ /* Read and write RAM, registers and AFE */
/* ------------------------------------------------------------------------ */ /* ------------------------------------------------------------------------ */
extern unsigned sanei_genesys_get_bulk_max_size(Genesys_Device * dev) unsigned sanei_genesys_get_bulk_max_size(AsicType asic_type)
{ {
/* Genesys supports 0xFE00 maximum size in general, wheraus GL646 supports /* Genesys supports 0xFE00 maximum size in general, wheraus GL646 supports
0xFFC0. We use 0xF000 because that's the packet limit in the Linux usbmon 0xFFC0. We use 0xF000 because that's the packet limit in the Linux usbmon
@ -191,9 +191,9 @@ extern unsigned sanei_genesys_get_bulk_max_size(Genesys_Device * dev)
b_size is the size of the ring buffer. By default it's 300*1024, so the b_size is the size of the ring buffer. By default it's 300*1024, so the
packet is limited 61440 without any visibility to acquiring software. packet is limited 61440 without any visibility to acquiring software.
*/ */
if (dev->model->asic_type == AsicType::GL124 || if (asic_type == AsicType::GL124 ||
dev->model->asic_type == AsicType::GL846 || asic_type == AsicType::GL846 ||
dev->model->asic_type == AsicType::GL847) asic_type == AsicType::GL847)
{ {
return 0xeff0; return 0xeff0;
} }
@ -273,7 +273,7 @@ void sanei_genesys_bulk_read_data(Genesys_Device * dev, uint8_t addr, uint8_t* d
target = len; target = len;
buffer = data; buffer = data;
size_t max_in_size = sanei_genesys_get_bulk_max_size(dev); size_t max_in_size = sanei_genesys_get_bulk_max_size(dev->model->asic_type);
if (!has_header_before_each_chunk) { if (!has_header_before_each_chunk) {
sanei_genesys_bulk_read_data_send_header(dev, len); sanei_genesys_bulk_read_data_send_header(dev, len);
@ -318,7 +318,7 @@ void sanei_genesys_bulk_write_data(Genesys_Device* dev, uint8_t addr, uint8_t* d
dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_SET_REGISTER, INDEX, dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_REGISTER, VALUE_SET_REGISTER, INDEX,
1, &addr); 1, &addr);
size_t max_out_size = sanei_genesys_get_bulk_max_size(dev); size_t max_out_size = sanei_genesys_get_bulk_max_size(dev->model->asic_type);
while (len) { while (len) {
if (len > max_out_size) if (len > max_out_size)
@ -981,7 +981,7 @@ void sanei_genesys_write_ahb(Genesys_Device* dev, uint32_t addr, uint32_t size,
// write addr and size for AHB // write addr and size for AHB
dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_BUFFER, 0x01, 8, outdata); dev->usb_dev.control_msg(REQUEST_TYPE_OUT, REQUEST_BUFFER, VALUE_BUFFER, 0x01, 8, outdata);
size_t max_out_size = sanei_genesys_get_bulk_max_size(dev); size_t max_out_size = sanei_genesys_get_bulk_max_size(dev->model->asic_type);
/* write actual data */ /* write actual data */
written = 0; written = 0;

Wyświetl plik

@ -408,7 +408,7 @@ extern void sanei_genesys_bulk_write_register(Genesys_Device* dev,
extern void sanei_genesys_write_0x8c(Genesys_Device* dev, uint8_t index, uint8_t val); extern void sanei_genesys_write_0x8c(Genesys_Device* dev, uint8_t index, uint8_t val);
extern unsigned sanei_genesys_get_bulk_max_size(Genesys_Device * dev); unsigned sanei_genesys_get_bulk_max_size(AsicType asic_type);
extern void sanei_genesys_bulk_read_data(Genesys_Device * dev, uint8_t addr, uint8_t* data, extern void sanei_genesys_bulk_read_data(Genesys_Device * dev, uint8_t addr, uint8_t* data,
size_t len); size_t len);