Commit 55f142ca authored by Andrey Shvetsov's avatar Andrey Shvetsov Committed by Greg Kroah-Hartman
Browse files

staging: most: hdm-dim2: fix channel configuration



The DIM2 HDM checks the parameters passed to the function
configure_channel() and adapts the buffer sizes of the configuration
according to the hardware limitation. This patch is needed to init
the HAL layer with the correct values.

Signed-off-by: default avatarAndrey Shvetsov <andrey.shvetsov@k2l.de>
Signed-off-by: default avatarChristian Gromm <christian.gromm@microchip.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 8c243d21
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
/*
 * dim2_hdm.c - MediaLB DIM2 Hardware Dependent Module
 *
 * Copyright (C) 2015, Microchip Technology Germany II GmbH & Co. KG
 * Copyright (C) 2015-2016, Microchip Technology Germany II GmbH & Co. KG
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -557,7 +557,7 @@ static int configure_channel(struct most_interface *most_iface, int ch_idx,
				hdm_ch->name, buf_size, new_size);
		spin_lock_irqsave(&dim_lock, flags);
		hal_ret = dim_init_control(&hdm_ch->ch, is_tx, ch_addr,
					   buf_size);
					   new_size);
		break;
	case MOST_CH_ASYNC:
		new_size = dim_norm_ctrl_async_buffer_size(buf_size);
@@ -570,7 +570,7 @@ static int configure_channel(struct most_interface *most_iface, int ch_idx,
			pr_warn("%s: fixed buffer size (%d -> %d)\n",
				hdm_ch->name, buf_size, new_size);
		spin_lock_irqsave(&dim_lock, flags);
		hal_ret = dim_init_async(&hdm_ch->ch, is_tx, ch_addr, buf_size);
		hal_ret = dim_init_async(&hdm_ch->ch, is_tx, ch_addr, new_size);
		break;
	case MOST_CH_ISOC_AVP:
		new_size = dim_norm_isoc_buffer_size(buf_size, sub_size);