Lines Matching refs:clock

514 				 struct camss_clock *clock)
522 return (!strcmp(clock->name, vfe_name) ||
523 !strcmp(clock->name, vfe_lite_name) ||
524 !strcmp(clock->name, "vfe_lite"));
528 * vfe_set_clock_rates - Calculate and set clock rates on VFE module
548 struct camss_clock *clock = &vfe->clock[i];
550 if (vfe_match_clock_names(vfe, clock)) {
575 for (j = 0; j < clock->nfreqs; j++)
576 if (min_rate < clock->freq[j])
579 if (j == clock->nfreqs) {
581 "Pixel clock is too high for VFE");
585 /* if sensor pixel clock is not available */
586 /* set highest possible VFE clock rate */
588 j = clock->nfreqs - 1;
590 rate = clk_round_rate(clock->clk, clock->freq[j]);
597 ret = clk_set_rate(clock->clk, rate);
609 * vfe_check_clock_rates - Check current clock rates on VFE module
612 * Return 0 if current clock rates are suitable for a new pipeline
629 struct camss_clock *clock = &vfe->clock[i];
631 if (vfe_match_clock_names(vfe, clock)) {
656 rate = clk_get_rate(clock->clk);
690 ret = camss_enable_clocks(vfe->nclocks, vfe->clock,
716 camss_disable_clocks(vfe->nclocks, vfe->clock);
745 camss_disable_clocks(vfe->nclocks, vfe->clock);
1442 while (res->clock[vfe->nclocks])
1445 vfe->clock = devm_kcalloc(dev, vfe->nclocks, sizeof(*vfe->clock),
1447 if (!vfe->clock)
1451 struct camss_clock *clock = &vfe->clock[i];
1453 clock->clk = devm_clk_get(dev, res->clock[i]);
1454 if (IS_ERR(clock->clk))
1455 return PTR_ERR(clock->clk);
1457 clock->name = res->clock[i];
1459 clock->nfreqs = 0;
1460 while (res->clock_rate[i][clock->nfreqs])
1461 clock->nfreqs++;
1463 if (!clock->nfreqs) {
1464 clock->freq = NULL;
1468 clock->freq = devm_kcalloc(dev,
1469 clock->nfreqs,
1470 sizeof(*clock->freq),
1472 if (!clock->freq)
1475 for (j = 0; j < clock->nfreqs; j++)
1476 clock->freq[j] = res->clock_rate[i][j];