Lines Matching defs:lsc

289 			ccdc->lsc.state = LSC_STATE_STOPPED;
293 ccdc->lsc.state = LSC_STATE_RUNNING;
295 ccdc->lsc.state = LSC_STATE_STOPPING;
354 ccdc->lsc.state = LSC_STATE_STOPPED;
379 spin_lock_irqsave(&ccdc->lsc.req_lock, flags);
382 spin_unlock_irqrestore(&ccdc->lsc.req_lock, flags);
384 spin_lock_irqsave(&ccdc->lsc.req_lock, flags);
386 spin_unlock_irqrestore(&ccdc->lsc.req_lock, flags);
392 struct ispccdc_lsc *lsc;
394 lsc = container_of(work, struct ispccdc_lsc, table_work);
395 ccdc = container_of(lsc, struct isp_ccdc_device, lsc);
397 ccdc_lsc_free_queue(ccdc, &lsc->free_queue);
466 if (copy_from_user(table, config->lsc, req->config.size)) {
475 spin_lock_irqsave(&ccdc->lsc.req_lock, flags);
476 if (ccdc->lsc.request) {
477 list_add_tail(&ccdc->lsc.request->list, &ccdc->lsc.free_queue);
478 schedule_work(&ccdc->lsc.table_work);
480 ccdc->lsc.request = req;
481 spin_unlock_irqrestore(&ccdc->lsc.req_lock, flags);
496 spin_lock_irqsave(&ccdc->lsc.req_lock, flags);
497 if (ccdc->lsc.active) {
498 spin_unlock_irqrestore(&ccdc->lsc.req_lock, flags);
501 spin_unlock_irqrestore(&ccdc->lsc.req_lock, flags);
507 struct ispccdc_lsc *lsc = &ccdc->lsc;
509 if (lsc->state != LSC_STATE_STOPPED)
512 if (lsc->active) {
513 list_add_tail(&lsc->active->list, &lsc->free_queue);
514 lsc->active = NULL;
517 if (__ccdc_lsc_configure(ccdc, lsc->request) < 0) {
520 list_add_tail(&lsc->request->list, &lsc->free_queue);
521 lsc->request = NULL;
525 lsc->active = lsc->request;
526 lsc->request = NULL;
530 if (!list_empty(&lsc->free_queue))
531 schedule_work(&lsc->table_work);
1241 spin_lock_irqsave(&ccdc->lsc.req_lock, flags);
1242 if (ccdc->lsc.request == NULL)
1245 WARN_ON(ccdc->lsc.active);
1250 if (ccdc->lsc.active == NULL &&
1251 __ccdc_lsc_configure(ccdc, ccdc->lsc.request) == 0) {
1252 ccdc->lsc.active = ccdc->lsc.request;
1254 list_add_tail(&ccdc->lsc.request->list, &ccdc->lsc.free_queue);
1255 schedule_work(&ccdc->lsc.table_work);
1258 ccdc->lsc.request = NULL;
1261 spin_unlock_irqrestore(&ccdc->lsc.req_lock, flags);
1295 ccdc_lsc_free_request(ccdc, ccdc->lsc.request);
1296 ccdc->lsc.request = ccdc->lsc.active;
1297 ccdc->lsc.active = NULL;
1298 cancel_work_sync(&ccdc->lsc.table_work);
1299 ccdc_lsc_free_queue(ccdc, &ccdc->lsc.free_queue);
1377 if (ccdc->lsc.state != LSC_STATE_STOPPED)
1385 if (ccdc->lsc.state == LSC_STATE_STOPPED)
1435 dev_dbg(to_device(ccdc), "lsc prefetch error\n");
1445 spin_lock_irqsave(&ccdc->lsc.req_lock, flags);
1447 if (ccdc->lsc.state == LSC_STATE_STOPPING)
1448 ccdc->lsc.state = LSC_STATE_STOPPED;
1453 if (ccdc->lsc.state != LSC_STATE_RECONFIG)
1457 ccdc->lsc.state = LSC_STATE_STOPPED;
1469 if (ccdc->lsc.request == NULL)
1475 spin_unlock_irqrestore(&ccdc->lsc.req_lock, flags);
1562 spin_lock_irqsave(&ccdc->lsc.req_lock, flags);
1581 if (ccdc->lsc.state != LSC_STATE_STOPPED)
1594 if (ccdc->lsc.request == NULL)
1601 if (ccdc->lsc.state == LSC_STATE_RUNNING) {
1603 ccdc->lsc.state = LSC_STATE_RECONFIG;
1608 if (ccdc->lsc.state == LSC_STATE_STOPPED)
1612 spin_unlock_irqrestore(&ccdc->lsc.req_lock, flags);
2263 INIT_WORK(&ccdc->lsc.table_work, ccdc_lsc_free_table_work);
2264 ccdc->lsc.state = LSC_STATE_STOPPED;
2265 INIT_LIST_HEAD(&ccdc->lsc.free_queue);
2266 spin_lock_init(&ccdc->lsc.req_lock);
2307 ccdc_lsc_free_request(ccdc, ccdc->lsc.request);
2308 cancel_work_sync(&ccdc->lsc.table_work);
2309 ccdc_lsc_free_queue(ccdc, &ccdc->lsc.free_queue);