The default number of vmbus channels (macro MAX_NUM_CHANNELS_SUPPORTED_DEFAULT) is made configurable through the new Kconfig option HYPERV_VMBUS_DEFAULT_CHANNELS. Signed-off-by: Stefan Eschenbacher <stefan.eschenbacher@xxxxxx> Co-developed-by: Max Stolze <max.stolze@xxxxxx> Signed-off-by: Max Stolze <max.stolze@xxxxxx> --- drivers/hv/Kconfig | 13 +++++++++++++ drivers/hv/hyperv_vmbus.h | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig index 79e5356a737a..40bee5b05ccd 100644 --- a/drivers/hv/Kconfig +++ b/drivers/hv/Kconfig @@ -26,4 +26,17 @@ config HYPERV_BALLOON help Select this option to enable Hyper-V Balloon driver. +config HYPERV_VMBUS_DEFAULT_CHANNELS + int "Default number of VMBus channels (as multiple of 32)" + range 0 512 + default 8 + depends on HYPERV + help + Specify the default number of VMBus channels here as nth multiple of + 32. The value must be equal to or less than 512. + The default is 8 meaning the number of channels is 8 * 32 = 256. + A different value can be set when loading the hv_vmbus module by + setting the parameter max_num_channels_supported directly to the + number of channels and not as a multiple of 32. + endmenu diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h index 52dcfa1c17ef..47af2c76ce57 100644 --- a/drivers/hv/hyperv_vmbus.h +++ b/drivers/hv/hyperv_vmbus.h @@ -194,7 +194,7 @@ int hv_ringbuffer_read(struct vmbus_channel *channel, #define MAX_NUM_CHANNELS ((HV_HYP_PAGE_SIZE >> 1) << 3) /* The value here must be in multiple of 32 */ -#define MAX_NUM_CHANNELS_SUPPORTED_DEFAULT 256 +#define MAX_NUM_CHANNELS_SUPPORTED_DEFAULT (CONFIG_HYPERV_VMBUS_DEFAULT_CHANNELS * 32) extern uint max_num_channels_supported; #define MAX_CHANNEL_RELIDS \ -- 2.20.1