Message ID | 1533278759-4648-1-git-send-email-hongyan.song@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | hid: increase maximum global item tag report size to 256 | expand |
On Fri, 3 Aug 2018, Song Hongyan wrote: > From: "Song, Hongyan" <hongyan.song@intel.com> > > The maximum globale report size has changed from 32->...->96->128 in > the past years. > With the development usage of HID, the report_size max value 128 cannot > satisfy all requirements. > > There are applications need to expose intrinsic metadata to camera > stabilizing applications such as 3DFE application. 3DFE intrinsic is > designed to express environmental information about sensor that may > dynamically change while the sensor is running (such data include > noise spectral density, bias standard deviation …) > > A sensor data field is SENSOR_VALUE_PAIR that consists of a PROPERTYKEY > and PROPVARIANT pair. It need to report a unique PROPERTYKEY for each > data field. > > Take “Noise Spectral Density” as an example, it report count will be > defined as below: > "Size of Property key GUID(16 Byte) + property key index(4 Byte) + > size of Noise Spectral Density value(4 Byte)" > In this case, the data report max is totally 192(24Byte), which is larger > than 128, while max size 128 blocked it as illegal length. So increase the > report size to satisfy it and more demands in the future. > > Signed-off-by: Song Hongyan <hongyan.song@intel.com> > --- > V2: update the comments > > drivers/hid/hid-core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c > index 3942ee6..d9c1d12 100644 > --- a/drivers/hid/hid-core.c > +++ b/drivers/hid/hid-core.c > @@ -396,7 +396,7 @@ static int hid_parser_global(struct hid_parser *parser, struct hid_item *item) > > case HID_GLOBAL_ITEM_TAG_REPORT_SIZE: > parser->global.report_size = item_udata(item); > - if (parser->global.report_size > 128) { > + if (parser->global.report_size > 256) { > hid_err(parser->device, "invalid report_size %d\n", > parser->global.report_size); Staged for 4.20. Thanks,
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index 3942ee6..d9c1d12 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c @@ -396,7 +396,7 @@ static int hid_parser_global(struct hid_parser *parser, struct hid_item *item) case HID_GLOBAL_ITEM_TAG_REPORT_SIZE: parser->global.report_size = item_udata(item); - if (parser->global.report_size > 128) { + if (parser->global.report_size > 256) { hid_err(parser->device, "invalid report_size %d\n", parser->global.report_size); return -1;