Loading drivers/media/platform/msm/vidc/venus_hfi.c +12 −7 Original line number Diff line number Diff line Loading @@ -935,13 +935,18 @@ static int venus_hfi_vote_buses(void *dev, struct vidc_bus_vote_data *data, continue; } /* Annoying little hack here: if the bus vector is 0, it * actually means "unvote". However if the client is calling * vote_bus, it's probably not very nice to unvote the buses. * So pick up the lowest bandwidth table and use that instead. * If client wants to unvote, it'll call venus_hfi_unvote\ * _buses */ bus_vector = venus_hfi_get_bus_vector(device, bus, load) ?: 1; bus_vector = venus_hfi_get_bus_vector(device, bus, load); /* * Annoying little hack here: if the bus vector for ocmem is 0, * we end up unvoting for ocmem bandwidth. This ends up * resetting the ocmem core on some targets, due to some ocmem * clock being tied to the virtual ocmem noc clk. As a result, * just lower our ocmem vote to the lowest level. */ if (strnstr(bus->pdata->name, "ocmem", strlen(bus->pdata->name))) bus_vector = bus_vector ?: 1; rc = msm_bus_scale_client_update_request(bus->priv, bus_vector); if (rc) { dprintk(VIDC_ERR, "Failed voting for bus %s @ %d: %d\n", Loading Loading
drivers/media/platform/msm/vidc/venus_hfi.c +12 −7 Original line number Diff line number Diff line Loading @@ -935,13 +935,18 @@ static int venus_hfi_vote_buses(void *dev, struct vidc_bus_vote_data *data, continue; } /* Annoying little hack here: if the bus vector is 0, it * actually means "unvote". However if the client is calling * vote_bus, it's probably not very nice to unvote the buses. * So pick up the lowest bandwidth table and use that instead. * If client wants to unvote, it'll call venus_hfi_unvote\ * _buses */ bus_vector = venus_hfi_get_bus_vector(device, bus, load) ?: 1; bus_vector = venus_hfi_get_bus_vector(device, bus, load); /* * Annoying little hack here: if the bus vector for ocmem is 0, * we end up unvoting for ocmem bandwidth. This ends up * resetting the ocmem core on some targets, due to some ocmem * clock being tied to the virtual ocmem noc clk. As a result, * just lower our ocmem vote to the lowest level. */ if (strnstr(bus->pdata->name, "ocmem", strlen(bus->pdata->name))) bus_vector = bus_vector ?: 1; rc = msm_bus_scale_client_update_request(bus->priv, bus_vector); if (rc) { dprintk(VIDC_ERR, "Failed voting for bus %s @ %d: %d\n", Loading