diff options
Diffstat (limited to 'sound/pci/asihpi/hpi6205.c')
-rw-r--r-- | sound/pci/asihpi/hpi6205.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/sound/pci/asihpi/hpi6205.c b/sound/pci/asihpi/hpi6205.c index 5e88c1fc2b9e..e89991ea3543 100644 --- a/sound/pci/asihpi/hpi6205.c +++ b/sound/pci/asihpi/hpi6205.c | |||
@@ -966,23 +966,16 @@ static void outstream_write(struct hpi_adapter_obj *pao, | |||
966 | status = &interface->outstream_host_buffer_status[phm->obj_index]; | 966 | status = &interface->outstream_host_buffer_status[phm->obj_index]; |
967 | 967 | ||
968 | if (phw->flag_outstream_just_reset[phm->obj_index]) { | 968 | if (phw->flag_outstream_just_reset[phm->obj_index]) { |
969 | /* Format can only change after reset. Must tell DSP. */ | ||
970 | u16 function = phm->function; | ||
971 | phw->flag_outstream_just_reset[phm->obj_index] = 0; | ||
972 | phm->function = HPI_OSTREAM_SET_FORMAT; | ||
973 | hw_message(pao, phm, phr); /* send the format to the DSP */ | ||
974 | phm->function = function; | ||
975 | if (phr->error) | ||
976 | return; | ||
977 | } | ||
978 | #if 1 | ||
979 | if (phw->flag_outstream_just_reset[phm->obj_index]) { | ||
980 | /* First OutStremWrite() call following reset will write data to the | 969 | /* First OutStremWrite() call following reset will write data to the |
981 | adapter's buffers, reducing delay before stream can start | 970 | adapter's buffers, reducing delay before stream can start. The DSP |
971 | takes care of setting the stream data format using format information | ||
972 | embedded in phm. | ||
982 | */ | 973 | */ |
983 | int partial_write = 0; | 974 | int partial_write = 0; |
984 | unsigned int original_size = 0; | 975 | unsigned int original_size = 0; |
985 | 976 | ||
977 | phw->flag_outstream_just_reset[phm->obj_index] = 0; | ||
978 | |||
986 | /* Send the first buffer to the DSP the old way. */ | 979 | /* Send the first buffer to the DSP the old way. */ |
987 | /* Limit size of first transfer - */ | 980 | /* Limit size of first transfer - */ |
988 | /* expect that this will not usually be triggered. */ | 981 | /* expect that this will not usually be triggered. */ |
@@ -1012,7 +1005,6 @@ static void outstream_write(struct hpi_adapter_obj *pao, | |||
1012 | original_size - HPI6205_SIZEOF_DATA; | 1005 | original_size - HPI6205_SIZEOF_DATA; |
1013 | phm->u.d.u.data.pb_data += HPI6205_SIZEOF_DATA; | 1006 | phm->u.d.u.data.pb_data += HPI6205_SIZEOF_DATA; |
1014 | } | 1007 | } |
1015 | #endif | ||
1016 | 1008 | ||
1017 | space_available = outstream_get_space_available(status); | 1009 | space_available = outstream_get_space_available(status); |
1018 | if (space_available < (long)phm->u.d.u.data.data_size) { | 1010 | if (space_available < (long)phm->u.d.u.data.data_size) { |
@@ -1369,6 +1361,9 @@ static u16 adapter_boot_load_dsp(struct hpi_adapter_obj *pao, | |||
1369 | case HPI_ADAPTER_FAMILY_ASI(0x6500): | 1361 | case HPI_ADAPTER_FAMILY_ASI(0x6500): |
1370 | firmware_id = HPI_ADAPTER_FAMILY_ASI(0x6600); | 1362 | firmware_id = HPI_ADAPTER_FAMILY_ASI(0x6600); |
1371 | break; | 1363 | break; |
1364 | case HPI_ADAPTER_FAMILY_ASI(0x8800): | ||
1365 | firmware_id = HPI_ADAPTER_FAMILY_ASI(0x8900); | ||
1366 | break; | ||
1372 | } | 1367 | } |
1373 | boot_code_id[1] = firmware_id; | 1368 | boot_code_id[1] = firmware_id; |
1374 | 1369 | ||