mgr 338 drivers/crypto/ccree/cc_request_mgr.c struct cc_req_mgr_handle *mgr = drvdata->request_mgr_handle; mgr 341 drivers/crypto/ccree/cc_request_mgr.c spin_lock_bh(&mgr->bl_lock); mgr 342 drivers/crypto/ccree/cc_request_mgr.c list_add_tail(&bli->list, &mgr->backlog); mgr 343 drivers/crypto/ccree/cc_request_mgr.c ++mgr->bl_len; mgr 344 drivers/crypto/ccree/cc_request_mgr.c dev_dbg(dev, "+++bl len: %d\n", mgr->bl_len); mgr 345 drivers/crypto/ccree/cc_request_mgr.c spin_unlock_bh(&mgr->bl_lock); mgr 346 drivers/crypto/ccree/cc_request_mgr.c tasklet_schedule(&mgr->comptask); mgr 351 drivers/crypto/ccree/cc_request_mgr.c struct cc_req_mgr_handle *mgr = drvdata->request_mgr_handle; mgr 358 drivers/crypto/ccree/cc_request_mgr.c spin_lock(&mgr->bl_lock); mgr 360 drivers/crypto/ccree/cc_request_mgr.c while (mgr->bl_len) { mgr 361 drivers/crypto/ccree/cc_request_mgr.c bli = list_first_entry(&mgr->backlog, struct cc_bl_item, list); mgr 362 drivers/crypto/ccree/cc_request_mgr.c dev_dbg(dev, "---bl len: %d\n", mgr->bl_len); mgr 364 drivers/crypto/ccree/cc_request_mgr.c spin_unlock(&mgr->bl_lock); mgr 379 drivers/crypto/ccree/cc_request_mgr.c spin_lock(&mgr->hw_lock); mgr 381 drivers/crypto/ccree/cc_request_mgr.c rc = cc_queues_status(drvdata, mgr, bli->len); mgr 388 drivers/crypto/ccree/cc_request_mgr.c spin_unlock(&mgr->hw_lock); mgr 395 drivers/crypto/ccree/cc_request_mgr.c spin_unlock(&mgr->hw_lock); mgr 403 drivers/crypto/ccree/cc_request_mgr.c spin_lock(&mgr->bl_lock); mgr 405 drivers/crypto/ccree/cc_request_mgr.c --mgr->bl_len; mgr 409 drivers/crypto/ccree/cc_request_mgr.c spin_unlock(&mgr->bl_lock); mgr 417 drivers/crypto/ccree/cc_request_mgr.c struct cc_req_mgr_handle *mgr = drvdata->request_mgr_handle; mgr 429 drivers/crypto/ccree/cc_request_mgr.c spin_lock_bh(&mgr->hw_lock); mgr 430 drivers/crypto/ccree/cc_request_mgr.c rc = cc_queues_status(drvdata, mgr, len); mgr 438 drivers/crypto/ccree/cc_request_mgr.c spin_unlock_bh(&mgr->hw_lock); mgr 457 drivers/crypto/ccree/cc_request_mgr.c spin_unlock_bh(&mgr->hw_lock); mgr 467 drivers/crypto/ccree/cc_request_mgr.c struct cc_req_mgr_handle *mgr = drvdata->request_mgr_handle; mgr 480 drivers/crypto/ccree/cc_request_mgr.c spin_lock_bh(&mgr->hw_lock); mgr 481 drivers/crypto/ccree/cc_request_mgr.c rc = cc_queues_status(drvdata, mgr, len + 1); mgr 486 drivers/crypto/ccree/cc_request_mgr.c spin_unlock_bh(&mgr->hw_lock); mgr 496 drivers/crypto/ccree/cc_request_mgr.c spin_unlock_bh(&mgr->hw_lock); mgr 75 drivers/fpga/altera-cvp.c struct fpga_manager *mgr; mgr 90 drivers/fpga/altera-cvp.c int (*wait_credit)(struct fpga_manager *mgr, u32 blocks); mgr 117 drivers/fpga/altera-cvp.c static enum fpga_mgr_states altera_cvp_state(struct fpga_manager *mgr) mgr 119 drivers/fpga/altera-cvp.c struct altera_cvp_conf *conf = mgr->priv; mgr 182 drivers/fpga/altera-cvp.c static int altera_cvp_chk_error(struct fpga_manager *mgr, size_t bytes) mgr 184 drivers/fpga/altera-cvp.c struct altera_cvp_conf *conf = mgr->priv; mgr 191 drivers/fpga/altera-cvp.c dev_err(&mgr->dev, "CVP_CONFIG_ERROR after %zu bytes!\n", mgr 229 drivers/fpga/altera-cvp.c static int altera_cvp_v2_wait_for_credit(struct fpga_manager *mgr, mgr 233 drivers/fpga/altera-cvp.c struct altera_cvp_conf *conf = mgr->priv; mgr 249 drivers/fpga/altera-cvp.c ret = altera_cvp_chk_error(mgr, blocks * ALTERA_CVP_V2_SIZE); mgr 285 drivers/fpga/altera-cvp.c static int altera_cvp_teardown(struct fpga_manager *mgr, mgr 288 drivers/fpga/altera-cvp.c struct altera_cvp_conf *conf = mgr->priv; mgr 313 drivers/fpga/altera-cvp.c dev_err(&mgr->dev, "CFG_RDY == 0 timeout\n"); mgr 318 drivers/fpga/altera-cvp.c static int altera_cvp_write_init(struct fpga_manager *mgr, mgr 322 drivers/fpga/altera-cvp.c struct altera_cvp_conf *conf = mgr->priv; mgr 329 drivers/fpga/altera-cvp.c dev_err(&mgr->dev, "Partial reconfiguration not supported.\n"); mgr 344 drivers/fpga/altera-cvp.c dev_err(&mgr->dev, "CVP mode off: 0x%04x\n", val); mgr 349 drivers/fpga/altera-cvp.c dev_warn(&mgr->dev, "CvP already started, teardown first\n"); mgr 350 drivers/fpga/altera-cvp.c ret = altera_cvp_teardown(mgr, info); mgr 379 drivers/fpga/altera-cvp.c dev_err(&mgr->dev, "Problem clearing out state\n"); mgr 397 drivers/fpga/altera-cvp.c dev_warn(&mgr->dev, "CFG_RDY == 1 timeout\n"); mgr 409 drivers/fpga/altera-cvp.c ret = altera_cvp_chk_error(mgr, 0); mgr 411 drivers/fpga/altera-cvp.c dev_warn(&mgr->dev, "CFG_RDY == 1 timeout\n"); mgr 431 drivers/fpga/altera-cvp.c static int altera_cvp_write(struct fpga_manager *mgr, const char *buf, mgr 434 drivers/fpga/altera-cvp.c struct altera_cvp_conf *conf = mgr->priv; mgr 447 drivers/fpga/altera-cvp.c status = conf->priv->wait_credit(mgr, done); mgr 472 drivers/fpga/altera-cvp.c status = altera_cvp_chk_error(mgr, done); mgr 479 drivers/fpga/altera-cvp.c status = altera_cvp_chk_error(mgr, count); mgr 484 drivers/fpga/altera-cvp.c static int altera_cvp_write_complete(struct fpga_manager *mgr, mgr 487 drivers/fpga/altera-cvp.c struct altera_cvp_conf *conf = mgr->priv; mgr 491 drivers/fpga/altera-cvp.c ret = altera_cvp_teardown(mgr, info); mgr 498 drivers/fpga/altera-cvp.c dev_err(&mgr->dev, "detected CVP_CONFIG_ERROR_LATCHED!\n"); mgr 513 drivers/fpga/altera-cvp.c dev_err(&mgr->dev, "PLD_CLK_IN_USE|USERMODE timeout\n"); mgr 580 drivers/fpga/altera-cvp.c struct fpga_manager *mgr; mgr 655 drivers/fpga/altera-cvp.c mgr = devm_fpga_mgr_create(&pdev->dev, conf->mgr_name, mgr 657 drivers/fpga/altera-cvp.c if (!mgr) { mgr 662 drivers/fpga/altera-cvp.c pci_set_drvdata(pdev, mgr); mgr 664 drivers/fpga/altera-cvp.c ret = fpga_mgr_register(mgr); mgr 682 drivers/fpga/altera-cvp.c struct fpga_manager *mgr = pci_get_drvdata(pdev); mgr 683 drivers/fpga/altera-cvp.c struct altera_cvp_conf *conf = mgr->priv; mgr 686 drivers/fpga/altera-cvp.c fpga_mgr_unregister(mgr); mgr 32 drivers/fpga/altera-pr-ip-core.c static enum fpga_mgr_states alt_pr_fpga_state(struct fpga_manager *mgr) mgr 34 drivers/fpga/altera-pr-ip-core.c struct alt_pr_priv *priv = mgr->priv; mgr 72 drivers/fpga/altera-pr-ip-core.c dev_err(&mgr->dev, "encountered error code %d (%s) in %s()\n", mgr 77 drivers/fpga/altera-pr-ip-core.c static int alt_pr_fpga_write_init(struct fpga_manager *mgr, mgr 81 drivers/fpga/altera-pr-ip-core.c struct alt_pr_priv *priv = mgr->priv; mgr 85 drivers/fpga/altera-pr-ip-core.c dev_err(&mgr->dev, "%s Partial Reconfiguration flag not set\n", mgr 93 drivers/fpga/altera-pr-ip-core.c dev_err(&mgr->dev, mgr 104 drivers/fpga/altera-pr-ip-core.c static int alt_pr_fpga_write(struct fpga_manager *mgr, const char *buf, mgr 107 drivers/fpga/altera-pr-ip-core.c struct alt_pr_priv *priv = mgr->priv; mgr 138 drivers/fpga/altera-pr-ip-core.c if (alt_pr_fpga_state(mgr) == FPGA_MGR_STATE_WRITE_ERR) mgr 144 drivers/fpga/altera-pr-ip-core.c static int alt_pr_fpga_write_complete(struct fpga_manager *mgr, mgr 150 drivers/fpga/altera-pr-ip-core.c switch (alt_pr_fpga_state(mgr)) { mgr 155 drivers/fpga/altera-pr-ip-core.c dev_info(&mgr->dev, mgr 165 drivers/fpga/altera-pr-ip-core.c dev_err(&mgr->dev, "timed out waiting for write to complete\n"); mgr 179 drivers/fpga/altera-pr-ip-core.c struct fpga_manager *mgr; mgr 194 drivers/fpga/altera-pr-ip-core.c mgr = devm_fpga_mgr_create(dev, dev_name(dev), &alt_pr_ops, priv); mgr 195 drivers/fpga/altera-pr-ip-core.c if (!mgr) mgr 198 drivers/fpga/altera-pr-ip-core.c dev_set_drvdata(dev, mgr); mgr 200 drivers/fpga/altera-pr-ip-core.c return fpga_mgr_register(mgr); mgr 206 drivers/fpga/altera-pr-ip-core.c struct fpga_manager *mgr = dev_get_drvdata(dev); mgr 210 drivers/fpga/altera-pr-ip-core.c fpga_mgr_unregister(mgr); mgr 88 drivers/fpga/altera-ps-spi.c static enum fpga_mgr_states altera_ps_state(struct fpga_manager *mgr) mgr 90 drivers/fpga/altera-ps-spi.c struct altera_ps_conf *conf = mgr->priv; mgr 106 drivers/fpga/altera-ps-spi.c static int altera_ps_write_init(struct fpga_manager *mgr, mgr 110 drivers/fpga/altera-ps-spi.c struct altera_ps_conf *conf = mgr->priv; mgr 117 drivers/fpga/altera-ps-spi.c dev_err(&mgr->dev, "Partial reconfiguration not supported.\n"); mgr 127 drivers/fpga/altera-ps-spi.c dev_err(&mgr->dev, "Status pin failed to show a reset\n"); mgr 149 drivers/fpga/altera-ps-spi.c dev_err(&mgr->dev, "Status pin not ready.\n"); mgr 175 drivers/fpga/altera-ps-spi.c static int altera_ps_write(struct fpga_manager *mgr, const char *buf, mgr 178 drivers/fpga/altera-ps-spi.c struct altera_ps_conf *conf = mgr->priv; mgr 191 drivers/fpga/altera-ps-spi.c dev_err(&mgr->dev, "spi error in firmware write: %d\n", mgr 201 drivers/fpga/altera-ps-spi.c static int altera_ps_write_complete(struct fpga_manager *mgr, mgr 204 drivers/fpga/altera-ps-spi.c struct altera_ps_conf *conf = mgr->priv; mgr 209 drivers/fpga/altera-ps-spi.c dev_err(&mgr->dev, "Error during configuration.\n"); mgr 215 drivers/fpga/altera-ps-spi.c dev_err(&mgr->dev, "CONF_DONE is inactive!\n"); mgr 226 drivers/fpga/altera-ps-spi.c dev_err(&mgr->dev, "spi error during end sequence: %d\n", ret); mgr 260 drivers/fpga/altera-ps-spi.c struct fpga_manager *mgr; mgr 305 drivers/fpga/altera-ps-spi.c mgr = devm_fpga_mgr_create(&spi->dev, conf->mgr_name, mgr 307 drivers/fpga/altera-ps-spi.c if (!mgr) mgr 310 drivers/fpga/altera-ps-spi.c spi_set_drvdata(spi, mgr); mgr 312 drivers/fpga/altera-ps-spi.c return fpga_mgr_register(mgr); mgr 317 drivers/fpga/altera-ps-spi.c struct fpga_manager *mgr = spi_get_drvdata(spi); mgr 319 drivers/fpga/altera-ps-spi.c fpga_mgr_unregister(mgr); mgr 107 drivers/fpga/dfl-fme-mgr.c static int fme_mgr_write_init(struct fpga_manager *mgr, mgr 111 drivers/fpga/dfl-fme-mgr.c struct device *dev = &mgr->dev; mgr 112 drivers/fpga/dfl-fme-mgr.c struct fme_mgr_priv *priv = mgr->priv; mgr 165 drivers/fpga/dfl-fme-mgr.c static int fme_mgr_write(struct fpga_manager *mgr, mgr 168 drivers/fpga/dfl-fme-mgr.c struct device *dev = &mgr->dev; mgr 169 drivers/fpga/dfl-fme-mgr.c struct fme_mgr_priv *priv = mgr->priv; mgr 220 drivers/fpga/dfl-fme-mgr.c static int fme_mgr_write_complete(struct fpga_manager *mgr, mgr 223 drivers/fpga/dfl-fme-mgr.c struct device *dev = &mgr->dev; mgr 224 drivers/fpga/dfl-fme-mgr.c struct fme_mgr_priv *priv = mgr->priv; mgr 255 drivers/fpga/dfl-fme-mgr.c static enum fpga_mgr_states fme_mgr_state(struct fpga_manager *mgr) mgr 260 drivers/fpga/dfl-fme-mgr.c static u64 fme_mgr_status(struct fpga_manager *mgr) mgr 262 drivers/fpga/dfl-fme-mgr.c struct fme_mgr_priv *priv = mgr->priv; mgr 288 drivers/fpga/dfl-fme-mgr.c struct fpga_manager *mgr; mgr 311 drivers/fpga/dfl-fme-mgr.c mgr = devm_fpga_mgr_create(dev, "DFL FME FPGA Manager", mgr 313 drivers/fpga/dfl-fme-mgr.c if (!mgr) mgr 316 drivers/fpga/dfl-fme-mgr.c mgr->compat_id = compat_id; mgr 317 drivers/fpga/dfl-fme-mgr.c platform_set_drvdata(pdev, mgr); mgr 319 drivers/fpga/dfl-fme-mgr.c return fpga_mgr_register(mgr); mgr 324 drivers/fpga/dfl-fme-mgr.c struct fpga_manager *mgr = platform_get_drvdata(pdev); mgr 326 drivers/fpga/dfl-fme-mgr.c fpga_mgr_unregister(mgr); mgr 180 drivers/fpga/dfl-fme-pr.c struct platform_device *mgr, *fme = pdata->dev; mgr 193 drivers/fpga/dfl-fme-pr.c mgr = platform_device_alloc(DFL_FPGA_FME_MGR, fme->id); mgr 194 drivers/fpga/dfl-fme-pr.c if (!mgr) mgr 197 drivers/fpga/dfl-fme-pr.c mgr->dev.parent = &fme->dev; mgr 199 drivers/fpga/dfl-fme-pr.c ret = platform_device_add_data(mgr, &mgr_pdata, sizeof(mgr_pdata)); mgr 203 drivers/fpga/dfl-fme-pr.c ret = platform_device_add(mgr); mgr 207 drivers/fpga/dfl-fme-pr.c return mgr; mgr 210 drivers/fpga/dfl-fme-pr.c platform_device_put(mgr); mgr 222 drivers/fpga/dfl-fme-pr.c platform_device_unregister(priv->mgr); mgr 306 drivers/fpga/dfl-fme-pr.c struct platform_device *mgr, mgr 318 drivers/fpga/dfl-fme-pr.c region_pdata.mgr = mgr; mgr 379 drivers/fpga/dfl-fme-pr.c struct platform_device *mgr; mgr 396 drivers/fpga/dfl-fme-pr.c mgr = dfl_fme_create_mgr(pdata, feature); mgr 397 drivers/fpga/dfl-fme-pr.c if (IS_ERR(mgr)) { mgr 402 drivers/fpga/dfl-fme-pr.c priv->mgr = mgr; mgr 421 drivers/fpga/dfl-fme-pr.c fme_region = dfl_fme_create_region(pdata, mgr, mgr 44 drivers/fpga/dfl-fme-pr.h struct platform_device *mgr; mgr 35 drivers/fpga/dfl-fme-region.c struct fpga_manager *mgr; mgr 38 drivers/fpga/dfl-fme-region.c mgr = fpga_mgr_get(&pdata->mgr->dev); mgr 39 drivers/fpga/dfl-fme-region.c if (IS_ERR(mgr)) mgr 42 drivers/fpga/dfl-fme-region.c region = devm_fpga_region_create(dev, mgr, fme_region_get_bridges); mgr 49 drivers/fpga/dfl-fme-region.c region->compat_id = mgr->compat_id; mgr 61 drivers/fpga/dfl-fme-region.c fpga_mgr_put(mgr); mgr 68 drivers/fpga/dfl-fme-region.c struct fpga_manager *mgr = region->mgr; mgr 71 drivers/fpga/dfl-fme-region.c fpga_mgr_put(mgr); mgr 30 drivers/fpga/dfl-fme.h struct platform_device *mgr; mgr 74 drivers/fpga/fpga-mgr.c static int fpga_mgr_write_init_buf(struct fpga_manager *mgr, mgr 80 drivers/fpga/fpga-mgr.c mgr->state = FPGA_MGR_STATE_WRITE_INIT; mgr 81 drivers/fpga/fpga-mgr.c if (!mgr->mops->initial_header_size) mgr 82 drivers/fpga/fpga-mgr.c ret = mgr->mops->write_init(mgr, info, NULL, 0); mgr 84 drivers/fpga/fpga-mgr.c ret = mgr->mops->write_init( mgr 85 drivers/fpga/fpga-mgr.c mgr, info, buf, min(mgr->mops->initial_header_size, count)); mgr 88 drivers/fpga/fpga-mgr.c dev_err(&mgr->dev, "Error preparing FPGA for writing\n"); mgr 89 drivers/fpga/fpga-mgr.c mgr->state = FPGA_MGR_STATE_WRITE_INIT_ERR; mgr 96 drivers/fpga/fpga-mgr.c static int fpga_mgr_write_init_sg(struct fpga_manager *mgr, mgr 105 drivers/fpga/fpga-mgr.c if (!mgr->mops->initial_header_size) mgr 106 drivers/fpga/fpga-mgr.c return fpga_mgr_write_init_buf(mgr, info, NULL, 0); mgr 114 drivers/fpga/fpga-mgr.c miter.length >= mgr->mops->initial_header_size) { mgr 115 drivers/fpga/fpga-mgr.c ret = fpga_mgr_write_init_buf(mgr, info, miter.addr, mgr 123 drivers/fpga/fpga-mgr.c buf = kmalloc(mgr->mops->initial_header_size, GFP_KERNEL); mgr 128 drivers/fpga/fpga-mgr.c mgr->mops->initial_header_size); mgr 129 drivers/fpga/fpga-mgr.c ret = fpga_mgr_write_init_buf(mgr, info, buf, len); mgr 140 drivers/fpga/fpga-mgr.c static int fpga_mgr_write_complete(struct fpga_manager *mgr, mgr 145 drivers/fpga/fpga-mgr.c mgr->state = FPGA_MGR_STATE_WRITE_COMPLETE; mgr 146 drivers/fpga/fpga-mgr.c ret = mgr->mops->write_complete(mgr, info); mgr 148 drivers/fpga/fpga-mgr.c dev_err(&mgr->dev, "Error after writing image data to FPGA\n"); mgr 149 drivers/fpga/fpga-mgr.c mgr->state = FPGA_MGR_STATE_WRITE_COMPLETE_ERR; mgr 152 drivers/fpga/fpga-mgr.c mgr->state = FPGA_MGR_STATE_OPERATING; mgr 174 drivers/fpga/fpga-mgr.c static int fpga_mgr_buf_load_sg(struct fpga_manager *mgr, mgr 180 drivers/fpga/fpga-mgr.c ret = fpga_mgr_write_init_sg(mgr, info, sgt); mgr 185 drivers/fpga/fpga-mgr.c mgr->state = FPGA_MGR_STATE_WRITE; mgr 186 drivers/fpga/fpga-mgr.c if (mgr->mops->write_sg) { mgr 187 drivers/fpga/fpga-mgr.c ret = mgr->mops->write_sg(mgr, sgt); mgr 193 drivers/fpga/fpga-mgr.c ret = mgr->mops->write(mgr, miter.addr, miter.length); mgr 201 drivers/fpga/fpga-mgr.c dev_err(&mgr->dev, "Error while writing image data to FPGA\n"); mgr 202 drivers/fpga/fpga-mgr.c mgr->state = FPGA_MGR_STATE_WRITE_ERR; mgr 206 drivers/fpga/fpga-mgr.c return fpga_mgr_write_complete(mgr, info); mgr 209 drivers/fpga/fpga-mgr.c static int fpga_mgr_buf_load_mapped(struct fpga_manager *mgr, mgr 215 drivers/fpga/fpga-mgr.c ret = fpga_mgr_write_init_buf(mgr, info, buf, count); mgr 222 drivers/fpga/fpga-mgr.c mgr->state = FPGA_MGR_STATE_WRITE; mgr 223 drivers/fpga/fpga-mgr.c ret = mgr->mops->write(mgr, buf, count); mgr 225 drivers/fpga/fpga-mgr.c dev_err(&mgr->dev, "Error while writing image data to FPGA\n"); mgr 226 drivers/fpga/fpga-mgr.c mgr->state = FPGA_MGR_STATE_WRITE_ERR; mgr 230 drivers/fpga/fpga-mgr.c return fpga_mgr_write_complete(mgr, info); mgr 247 drivers/fpga/fpga-mgr.c static int fpga_mgr_buf_load(struct fpga_manager *mgr, mgr 263 drivers/fpga/fpga-mgr.c if (mgr->mops->write) mgr 264 drivers/fpga/fpga-mgr.c return fpga_mgr_buf_load_mapped(mgr, info, buf, count); mgr 299 drivers/fpga/fpga-mgr.c rc = fpga_mgr_buf_load_sg(mgr, info, &sgt); mgr 319 drivers/fpga/fpga-mgr.c static int fpga_mgr_firmware_load(struct fpga_manager *mgr, mgr 323 drivers/fpga/fpga-mgr.c struct device *dev = &mgr->dev; mgr 327 drivers/fpga/fpga-mgr.c dev_info(dev, "writing %s to %s\n", image_name, mgr->name); mgr 329 drivers/fpga/fpga-mgr.c mgr->state = FPGA_MGR_STATE_FIRMWARE_REQ; mgr 333 drivers/fpga/fpga-mgr.c mgr->state = FPGA_MGR_STATE_FIRMWARE_REQ_ERR; mgr 338 drivers/fpga/fpga-mgr.c ret = fpga_mgr_buf_load(mgr, info, fw->data, fw->size); mgr 355 drivers/fpga/fpga-mgr.c int fpga_mgr_load(struct fpga_manager *mgr, struct fpga_image_info *info) mgr 358 drivers/fpga/fpga-mgr.c return fpga_mgr_buf_load_sg(mgr, info, info->sgt); mgr 360 drivers/fpga/fpga-mgr.c return fpga_mgr_buf_load(mgr, info, info->buf, info->count); mgr 362 drivers/fpga/fpga-mgr.c return fpga_mgr_firmware_load(mgr, info, info->firmware_name); mgr 396 drivers/fpga/fpga-mgr.c struct fpga_manager *mgr = to_fpga_manager(dev); mgr 398 drivers/fpga/fpga-mgr.c return sprintf(buf, "%s\n", mgr->name); mgr 404 drivers/fpga/fpga-mgr.c struct fpga_manager *mgr = to_fpga_manager(dev); mgr 406 drivers/fpga/fpga-mgr.c return sprintf(buf, "%s\n", state_str[mgr->state]); mgr 412 drivers/fpga/fpga-mgr.c struct fpga_manager *mgr = to_fpga_manager(dev); mgr 416 drivers/fpga/fpga-mgr.c if (!mgr->mops->status) mgr 419 drivers/fpga/fpga-mgr.c status = mgr->mops->status(mgr); mgr 449 drivers/fpga/fpga-mgr.c struct fpga_manager *mgr; mgr 451 drivers/fpga/fpga-mgr.c mgr = to_fpga_manager(dev); mgr 456 drivers/fpga/fpga-mgr.c return mgr; mgr 508 drivers/fpga/fpga-mgr.c void fpga_mgr_put(struct fpga_manager *mgr) mgr 510 drivers/fpga/fpga-mgr.c module_put(mgr->dev.parent->driver->owner); mgr 511 drivers/fpga/fpga-mgr.c put_device(&mgr->dev); mgr 527 drivers/fpga/fpga-mgr.c int fpga_mgr_lock(struct fpga_manager *mgr) mgr 529 drivers/fpga/fpga-mgr.c if (!mutex_trylock(&mgr->ref_mutex)) { mgr 530 drivers/fpga/fpga-mgr.c dev_err(&mgr->dev, "FPGA manager is in use.\n"); mgr 542 drivers/fpga/fpga-mgr.c void fpga_mgr_unlock(struct fpga_manager *mgr) mgr 544 drivers/fpga/fpga-mgr.c mutex_unlock(&mgr->ref_mutex); mgr 564 drivers/fpga/fpga-mgr.c struct fpga_manager *mgr; mgr 579 drivers/fpga/fpga-mgr.c mgr = kzalloc(sizeof(*mgr), GFP_KERNEL); mgr 580 drivers/fpga/fpga-mgr.c if (!mgr) mgr 589 drivers/fpga/fpga-mgr.c mutex_init(&mgr->ref_mutex); mgr 591 drivers/fpga/fpga-mgr.c mgr->name = name; mgr 592 drivers/fpga/fpga-mgr.c mgr->mops = mops; mgr 593 drivers/fpga/fpga-mgr.c mgr->priv = priv; mgr 595 drivers/fpga/fpga-mgr.c device_initialize(&mgr->dev); mgr 596 drivers/fpga/fpga-mgr.c mgr->dev.class = fpga_mgr_class; mgr 597 drivers/fpga/fpga-mgr.c mgr->dev.groups = mops->groups; mgr 598 drivers/fpga/fpga-mgr.c mgr->dev.parent = dev; mgr 599 drivers/fpga/fpga-mgr.c mgr->dev.of_node = dev->of_node; mgr 600 drivers/fpga/fpga-mgr.c mgr->dev.id = id; mgr 602 drivers/fpga/fpga-mgr.c ret = dev_set_name(&mgr->dev, "fpga%d", id); mgr 606 drivers/fpga/fpga-mgr.c return mgr; mgr 611 drivers/fpga/fpga-mgr.c kfree(mgr); mgr 621 drivers/fpga/fpga-mgr.c void fpga_mgr_free(struct fpga_manager *mgr) mgr 623 drivers/fpga/fpga-mgr.c ida_simple_remove(&fpga_mgr_ida, mgr->dev.id); mgr 624 drivers/fpga/fpga-mgr.c kfree(mgr); mgr 630 drivers/fpga/fpga-mgr.c struct fpga_manager *mgr = *(struct fpga_manager **)res; mgr 632 drivers/fpga/fpga-mgr.c fpga_mgr_free(mgr); mgr 656 drivers/fpga/fpga-mgr.c struct fpga_manager **ptr, *mgr; mgr 662 drivers/fpga/fpga-mgr.c mgr = fpga_mgr_create(dev, name, mops, priv); mgr 663 drivers/fpga/fpga-mgr.c if (!mgr) { mgr 666 drivers/fpga/fpga-mgr.c *ptr = mgr; mgr 670 drivers/fpga/fpga-mgr.c return mgr; mgr 680 drivers/fpga/fpga-mgr.c int fpga_mgr_register(struct fpga_manager *mgr) mgr 689 drivers/fpga/fpga-mgr.c mgr->state = mgr->mops->state(mgr); mgr 691 drivers/fpga/fpga-mgr.c ret = device_add(&mgr->dev); mgr 695 drivers/fpga/fpga-mgr.c dev_info(&mgr->dev, "%s registered\n", mgr->name); mgr 700 drivers/fpga/fpga-mgr.c ida_simple_remove(&fpga_mgr_ida, mgr->dev.id); mgr 712 drivers/fpga/fpga-mgr.c void fpga_mgr_unregister(struct fpga_manager *mgr) mgr 714 drivers/fpga/fpga-mgr.c dev_info(&mgr->dev, "%s %s\n", __func__, mgr->name); mgr 720 drivers/fpga/fpga-mgr.c if (mgr->mops->fpga_remove) mgr 721 drivers/fpga/fpga-mgr.c mgr->mops->fpga_remove(mgr); mgr 723 drivers/fpga/fpga-mgr.c device_unregister(&mgr->dev); mgr 108 drivers/fpga/fpga-region.c ret = fpga_mgr_lock(region->mgr); mgr 132 drivers/fpga/fpga-region.c ret = fpga_mgr_load(region->mgr, info); mgr 144 drivers/fpga/fpga-region.c fpga_mgr_unlock(region->mgr); mgr 153 drivers/fpga/fpga-region.c fpga_mgr_unlock(region->mgr); mgr 196 drivers/fpga/fpga-region.c struct fpga_manager *mgr, mgr 210 drivers/fpga/fpga-region.c region->mgr = mgr; mgr 272 drivers/fpga/fpga-region.c struct fpga_manager *mgr, mgr 281 drivers/fpga/fpga-region.c region = fpga_region_create(dev, mgr, get_bridges); mgr 32 drivers/fpga/ice40-spi.c static enum fpga_mgr_states ice40_fpga_ops_state(struct fpga_manager *mgr) mgr 34 drivers/fpga/ice40-spi.c struct ice40_fpga_priv *priv = mgr->priv; mgr 40 drivers/fpga/ice40-spi.c static int ice40_fpga_ops_write_init(struct fpga_manager *mgr, mgr 44 drivers/fpga/ice40-spi.c struct ice40_fpga_priv *priv = mgr->priv; mgr 96 drivers/fpga/ice40-spi.c static int ice40_fpga_ops_write(struct fpga_manager *mgr, mgr 99 drivers/fpga/ice40-spi.c struct ice40_fpga_priv *priv = mgr->priv; mgr 104 drivers/fpga/ice40-spi.c static int ice40_fpga_ops_write_complete(struct fpga_manager *mgr, mgr 107 drivers/fpga/ice40-spi.c struct ice40_fpga_priv *priv = mgr->priv; mgr 133 drivers/fpga/ice40-spi.c struct fpga_manager *mgr; mgr 175 drivers/fpga/ice40-spi.c mgr = devm_fpga_mgr_create(dev, "Lattice iCE40 FPGA Manager", mgr 177 drivers/fpga/ice40-spi.c if (!mgr) mgr 180 drivers/fpga/ice40-spi.c spi_set_drvdata(spi, mgr); mgr 182 drivers/fpga/ice40-spi.c return fpga_mgr_register(mgr); mgr 187 drivers/fpga/ice40-spi.c struct fpga_manager *mgr = spi_get_drvdata(spi); mgr 189 drivers/fpga/ice40-spi.c fpga_mgr_unregister(mgr); mgr 135 drivers/fpga/machxo2-spi.c static int machxo2_cleanup(struct fpga_manager *mgr) mgr 137 drivers/fpga/machxo2-spi.c struct spi_device *spi = mgr->priv; mgr 168 drivers/fpga/machxo2-spi.c dev_err(&mgr->dev, "Cleanup failed\n"); mgr 173 drivers/fpga/machxo2-spi.c static enum fpga_mgr_states machxo2_spi_state(struct fpga_manager *mgr) mgr 175 drivers/fpga/machxo2-spi.c struct spi_device *spi = mgr->priv; mgr 186 drivers/fpga/machxo2-spi.c static int machxo2_write_init(struct fpga_manager *mgr, mgr 190 drivers/fpga/machxo2-spi.c struct spi_device *spi = mgr->priv; mgr 200 drivers/fpga/machxo2-spi.c dev_err(&mgr->dev, mgr 243 drivers/fpga/machxo2-spi.c dev_err(&mgr->dev, "Error during FPGA init.\n"); mgr 248 drivers/fpga/machxo2-spi.c static int machxo2_write(struct fpga_manager *mgr, const char *buf, mgr 251 drivers/fpga/machxo2-spi.c struct spi_device *spi = mgr->priv; mgr 260 drivers/fpga/machxo2-spi.c dev_err(&mgr->dev, "Malformed payload.\n"); mgr 276 drivers/fpga/machxo2-spi.c dev_err(&mgr->dev, "Error loading the bitstream.\n"); mgr 286 drivers/fpga/machxo2-spi.c static int machxo2_write_complete(struct fpga_manager *mgr, mgr 289 drivers/fpga/machxo2-spi.c struct spi_device *spi = mgr->priv; mgr 312 drivers/fpga/machxo2-spi.c machxo2_cleanup(mgr); mgr 333 drivers/fpga/machxo2-spi.c machxo2_cleanup(mgr); mgr 343 drivers/fpga/machxo2-spi.c dev_err(&mgr->dev, "Refresh failed.\n"); mgr 358 drivers/fpga/machxo2-spi.c struct fpga_manager *mgr; mgr 365 drivers/fpga/machxo2-spi.c mgr = devm_fpga_mgr_create(dev, "Lattice MachXO2 SPI FPGA Manager", mgr 367 drivers/fpga/machxo2-spi.c if (!mgr) mgr 370 drivers/fpga/machxo2-spi.c spi_set_drvdata(spi, mgr); mgr 372 drivers/fpga/machxo2-spi.c return fpga_mgr_register(mgr); mgr 377 drivers/fpga/machxo2-spi.c struct fpga_manager *mgr = spi_get_drvdata(spi); mgr 379 drivers/fpga/machxo2-spi.c fpga_mgr_unregister(mgr); mgr 51 drivers/fpga/of-fpga-region.c struct fpga_manager *mgr; mgr 58 drivers/fpga/of-fpga-region.c mgr = of_fpga_mgr_get(mgr_node); mgr 61 drivers/fpga/of-fpga-region.c return mgr; mgr 400 drivers/fpga/of-fpga-region.c struct fpga_manager *mgr; mgr 404 drivers/fpga/of-fpga-region.c mgr = of_fpga_region_get_mgr(np); mgr 405 drivers/fpga/of-fpga-region.c if (IS_ERR(mgr)) mgr 408 drivers/fpga/of-fpga-region.c region = devm_fpga_region_create(dev, mgr, of_fpga_region_get_bridges); mgr 426 drivers/fpga/of-fpga-region.c fpga_mgr_put(mgr); mgr 433 drivers/fpga/of-fpga-region.c struct fpga_manager *mgr = region->mgr; mgr 436 drivers/fpga/of-fpga-region.c fpga_mgr_put(mgr); mgr 203 drivers/fpga/socfpga-a10.c static int socfpga_a10_fpga_set_cdratio(struct fpga_manager *mgr, mgr 207 drivers/fpga/socfpga-a10.c struct a10_fpga_priv *priv = mgr->priv; mgr 272 drivers/fpga/socfpga-a10.c static int socfpga_a10_fpga_write_init(struct fpga_manager *mgr, mgr 276 drivers/fpga/socfpga-a10.c struct a10_fpga_priv *priv = mgr->priv; mgr 291 drivers/fpga/socfpga-a10.c dev_dbg(&mgr->dev, "Fail: invalid msel=%d\n", msel); mgr 306 drivers/fpga/socfpga-a10.c ret = socfpga_a10_fpga_set_cdratio(mgr, cfg_width, buf, count); mgr 354 drivers/fpga/socfpga-a10.c static int socfpga_a10_fpga_write(struct fpga_manager *mgr, const char *buf, mgr 357 drivers/fpga/socfpga-a10.c struct a10_fpga_priv *priv = mgr->priv; mgr 391 drivers/fpga/socfpga-a10.c static int socfpga_a10_fpga_write_complete(struct fpga_manager *mgr, mgr 394 drivers/fpga/socfpga-a10.c struct a10_fpga_priv *priv = mgr->priv; mgr 432 drivers/fpga/socfpga-a10.c dev_dbg(&mgr->dev, mgr 440 drivers/fpga/socfpga-a10.c static enum fpga_mgr_states socfpga_a10_fpga_state(struct fpga_manager *mgr) mgr 442 drivers/fpga/socfpga-a10.c struct a10_fpga_priv *priv = mgr->priv; mgr 473 drivers/fpga/socfpga-a10.c struct fpga_manager *mgr; mgr 511 drivers/fpga/socfpga-a10.c mgr = devm_fpga_mgr_create(dev, "SoCFPGA Arria10 FPGA Manager", mgr 513 drivers/fpga/socfpga-a10.c if (!mgr) mgr 516 drivers/fpga/socfpga-a10.c platform_set_drvdata(pdev, mgr); mgr 518 drivers/fpga/socfpga-a10.c ret = fpga_mgr_register(mgr); mgr 529 drivers/fpga/socfpga-a10.c struct fpga_manager *mgr = platform_get_drvdata(pdev); mgr 530 drivers/fpga/socfpga-a10.c struct a10_fpga_priv *priv = mgr->priv; mgr 532 drivers/fpga/socfpga-a10.c fpga_mgr_unregister(mgr); mgr 358 drivers/fpga/socfpga.c static int socfpga_fpga_reset(struct fpga_manager *mgr) mgr 360 drivers/fpga/socfpga.c struct socfpga_fpga_priv *priv = mgr->priv; mgr 399 drivers/fpga/socfpga.c static int socfpga_fpga_ops_configure_init(struct fpga_manager *mgr, mgr 403 drivers/fpga/socfpga.c struct socfpga_fpga_priv *priv = mgr->priv; mgr 407 drivers/fpga/socfpga.c dev_err(&mgr->dev, "Partial reconfiguration not supported.\n"); mgr 411 drivers/fpga/socfpga.c ret = socfpga_fpga_reset(mgr); mgr 433 drivers/fpga/socfpga.c static int socfpga_fpga_ops_configure_write(struct fpga_manager *mgr, mgr 436 drivers/fpga/socfpga.c struct socfpga_fpga_priv *priv = mgr->priv; mgr 470 drivers/fpga/socfpga.c static int socfpga_fpga_ops_configure_complete(struct fpga_manager *mgr, mgr 473 drivers/fpga/socfpga.c struct socfpga_fpga_priv *priv = mgr->priv; mgr 520 drivers/fpga/socfpga.c static enum fpga_mgr_states socfpga_fpga_ops_state(struct fpga_manager *mgr) mgr 522 drivers/fpga/socfpga.c struct socfpga_fpga_priv *priv = mgr->priv; mgr 547 drivers/fpga/socfpga.c struct fpga_manager *mgr; mgr 574 drivers/fpga/socfpga.c mgr = devm_fpga_mgr_create(dev, "Altera SOCFPGA FPGA Manager", mgr 576 drivers/fpga/socfpga.c if (!mgr) mgr 579 drivers/fpga/socfpga.c platform_set_drvdata(pdev, mgr); mgr 581 drivers/fpga/socfpga.c return fpga_mgr_register(mgr); mgr 586 drivers/fpga/socfpga.c struct fpga_manager *mgr = platform_get_drvdata(pdev); mgr 588 drivers/fpga/socfpga.c fpga_mgr_unregister(mgr); mgr 71 drivers/fpga/stratix10-soc.c static bool s10_free_buffers(struct fpga_manager *mgr) mgr 73 drivers/fpga/stratix10-soc.c struct s10_priv *priv = mgr->priv; mgr 98 drivers/fpga/stratix10-soc.c static uint s10_free_buffer_count(struct fpga_manager *mgr) mgr 100 drivers/fpga/stratix10-soc.c struct s10_priv *priv = mgr->priv; mgr 174 drivers/fpga/stratix10-soc.c static int s10_ops_write_init(struct fpga_manager *mgr, mgr 178 drivers/fpga/stratix10-soc.c struct s10_priv *priv = mgr->priv; mgr 222 drivers/fpga/stratix10-soc.c s10_free_buffers(mgr); mgr 244 drivers/fpga/stratix10-soc.c static int s10_send_buf(struct fpga_manager *mgr, const char *buf, size_t count) mgr 246 drivers/fpga/stratix10-soc.c struct s10_priv *priv = mgr->priv; mgr 282 drivers/fpga/stratix10-soc.c static int s10_ops_write(struct fpga_manager *mgr, const char *buf, mgr 285 drivers/fpga/stratix10-soc.c struct s10_priv *priv = mgr->priv; mgr 295 drivers/fpga/stratix10-soc.c while (count > 0 || s10_free_buffer_count(mgr) != NUM_SVC_BUFS) { mgr 299 drivers/fpga/stratix10-soc.c sent = s10_send_buf(mgr, buf, count); mgr 306 drivers/fpga/stratix10-soc.c if (s10_free_buffers(mgr)) mgr 355 drivers/fpga/stratix10-soc.c if (!s10_free_buffers(mgr)) mgr 361 drivers/fpga/stratix10-soc.c static int s10_ops_write_complete(struct fpga_manager *mgr, mgr 364 drivers/fpga/stratix10-soc.c struct s10_priv *priv = mgr->priv; mgr 413 drivers/fpga/stratix10-soc.c static enum fpga_mgr_states s10_ops_state(struct fpga_manager *mgr) mgr 429 drivers/fpga/stratix10-soc.c struct fpga_manager *mgr; mgr 450 drivers/fpga/stratix10-soc.c mgr = fpga_mgr_create(dev, "Stratix10 SOC FPGA Manager", mgr 452 drivers/fpga/stratix10-soc.c if (!mgr) { mgr 458 drivers/fpga/stratix10-soc.c ret = fpga_mgr_register(mgr); mgr 461 drivers/fpga/stratix10-soc.c fpga_mgr_free(mgr); mgr 465 drivers/fpga/stratix10-soc.c platform_set_drvdata(pdev, mgr); mgr 475 drivers/fpga/stratix10-soc.c struct fpga_manager *mgr = platform_get_drvdata(pdev); mgr 476 drivers/fpga/stratix10-soc.c struct s10_priv *priv = mgr->priv; mgr 478 drivers/fpga/stratix10-soc.c fpga_mgr_unregister(mgr); mgr 35 drivers/fpga/ts73xx-fpga.c static enum fpga_mgr_states ts73xx_fpga_state(struct fpga_manager *mgr) mgr 40 drivers/fpga/ts73xx-fpga.c static int ts73xx_fpga_write_init(struct fpga_manager *mgr, mgr 44 drivers/fpga/ts73xx-fpga.c struct ts73xx_fpga_priv *priv = mgr->priv; mgr 55 drivers/fpga/ts73xx-fpga.c static int ts73xx_fpga_write(struct fpga_manager *mgr, const char *buf, mgr 58 drivers/fpga/ts73xx-fpga.c struct ts73xx_fpga_priv *priv = mgr->priv; mgr 77 drivers/fpga/ts73xx-fpga.c static int ts73xx_fpga_write_complete(struct fpga_manager *mgr, mgr 80 drivers/fpga/ts73xx-fpga.c struct ts73xx_fpga_priv *priv = mgr->priv; mgr 111 drivers/fpga/ts73xx-fpga.c struct fpga_manager *mgr; mgr 127 drivers/fpga/ts73xx-fpga.c mgr = devm_fpga_mgr_create(kdev, "TS-73xx FPGA Manager", mgr 129 drivers/fpga/ts73xx-fpga.c if (!mgr) mgr 132 drivers/fpga/ts73xx-fpga.c platform_set_drvdata(pdev, mgr); mgr 134 drivers/fpga/ts73xx-fpga.c return fpga_mgr_register(mgr); mgr 139 drivers/fpga/ts73xx-fpga.c struct fpga_manager *mgr = platform_get_drvdata(pdev); mgr 141 drivers/fpga/ts73xx-fpga.c fpga_mgr_unregister(mgr); mgr 29 drivers/fpga/xilinx-spi.c static enum fpga_mgr_states xilinx_spi_state(struct fpga_manager *mgr) mgr 31 drivers/fpga/xilinx-spi.c struct xilinx_spi_conf *conf = mgr->priv; mgr 39 drivers/fpga/xilinx-spi.c static int xilinx_spi_write_init(struct fpga_manager *mgr, mgr 43 drivers/fpga/xilinx-spi.c struct xilinx_spi_conf *conf = mgr->priv; mgr 48 drivers/fpga/xilinx-spi.c dev_err(&mgr->dev, "Partial reconfiguration not supported.\n"); mgr 59 drivers/fpga/xilinx-spi.c dev_err(&mgr->dev, "Unexpected DONE pin state...\n"); mgr 68 drivers/fpga/xilinx-spi.c static int xilinx_spi_write(struct fpga_manager *mgr, const char *buf, mgr 71 drivers/fpga/xilinx-spi.c struct xilinx_spi_conf *conf = mgr->priv; mgr 84 drivers/fpga/xilinx-spi.c dev_err(&mgr->dev, "SPI error in firmware write: %d\n", mgr 107 drivers/fpga/xilinx-spi.c static int xilinx_spi_write_complete(struct fpga_manager *mgr, mgr 110 drivers/fpga/xilinx-spi.c struct xilinx_spi_conf *conf = mgr->priv; mgr 129 drivers/fpga/xilinx-spi.c dev_err(&mgr->dev, "Timeout after config data transfer.\n"); mgr 143 drivers/fpga/xilinx-spi.c struct fpga_manager *mgr; mgr 166 drivers/fpga/xilinx-spi.c mgr = devm_fpga_mgr_create(&spi->dev, mgr 169 drivers/fpga/xilinx-spi.c if (!mgr) mgr 172 drivers/fpga/xilinx-spi.c spi_set_drvdata(spi, mgr); mgr 174 drivers/fpga/xilinx-spi.c return fpga_mgr_register(mgr); mgr 179 drivers/fpga/xilinx-spi.c struct fpga_manager *mgr = spi_get_drvdata(spi); mgr 181 drivers/fpga/xilinx-spi.c fpga_mgr_unregister(mgr); mgr 251 drivers/fpga/zynq-fpga.c static int zynq_fpga_ops_write_init(struct fpga_manager *mgr, mgr 259 drivers/fpga/zynq-fpga.c priv = mgr->priv; mgr 269 drivers/fpga/zynq-fpga.c dev_err(&mgr->dev, mgr 279 drivers/fpga/zynq-fpga.c dev_err(&mgr->dev, mgr 312 drivers/fpga/zynq-fpga.c dev_err(&mgr->dev, "Timeout waiting for PCFG_INIT\n"); mgr 326 drivers/fpga/zynq-fpga.c dev_err(&mgr->dev, "Timeout waiting for !PCFG_INIT\n"); mgr 340 drivers/fpga/zynq-fpga.c dev_err(&mgr->dev, "Timeout waiting for PCFG_INIT\n"); mgr 365 drivers/fpga/zynq-fpga.c dev_err(&mgr->dev, "DMA command queue not right\n"); mgr 384 drivers/fpga/zynq-fpga.c static int zynq_fpga_ops_write(struct fpga_manager *mgr, struct sg_table *sgt) mgr 395 drivers/fpga/zynq-fpga.c priv = mgr->priv; mgr 402 drivers/fpga/zynq-fpga.c dev_err(&mgr->dev, mgr 409 drivers/fpga/zynq-fpga.c dma_map_sg(mgr->dev.parent, sgt->sgl, sgt->nents, DMA_TO_DEVICE); mgr 411 drivers/fpga/zynq-fpga.c dev_err(&mgr->dev, "Unable to DMA map (TO_DEVICE)\n"); mgr 467 drivers/fpga/zynq-fpga.c dev_err(&mgr->dev, mgr 481 drivers/fpga/zynq-fpga.c dma_unmap_sg(mgr->dev.parent, sgt->sgl, sgt->nents, DMA_TO_DEVICE); mgr 485 drivers/fpga/zynq-fpga.c static int zynq_fpga_ops_write_complete(struct fpga_manager *mgr, mgr 488 drivers/fpga/zynq-fpga.c struct zynq_fpga_priv *priv = mgr->priv; mgr 524 drivers/fpga/zynq-fpga.c static enum fpga_mgr_states zynq_fpga_ops_state(struct fpga_manager *mgr) mgr 530 drivers/fpga/zynq-fpga.c priv = mgr->priv; mgr 557 drivers/fpga/zynq-fpga.c struct fpga_manager *mgr; mgr 613 drivers/fpga/zynq-fpga.c mgr = devm_fpga_mgr_create(dev, "Xilinx Zynq FPGA Manager", mgr 615 drivers/fpga/zynq-fpga.c if (!mgr) mgr 618 drivers/fpga/zynq-fpga.c platform_set_drvdata(pdev, mgr); mgr 620 drivers/fpga/zynq-fpga.c err = fpga_mgr_register(mgr); mgr 633 drivers/fpga/zynq-fpga.c struct fpga_manager *mgr; mgr 635 drivers/fpga/zynq-fpga.c mgr = platform_get_drvdata(pdev); mgr 636 drivers/fpga/zynq-fpga.c priv = mgr->priv; mgr 638 drivers/fpga/zynq-fpga.c fpga_mgr_unregister(mgr); mgr 28 drivers/fpga/zynqmp-fpga.c static int zynqmp_fpga_ops_write_init(struct fpga_manager *mgr, mgr 34 drivers/fpga/zynqmp-fpga.c priv = mgr->priv; mgr 40 drivers/fpga/zynqmp-fpga.c static int zynqmp_fpga_ops_write(struct fpga_manager *mgr, mgr 53 drivers/fpga/zynqmp-fpga.c priv = mgr->priv; mgr 73 drivers/fpga/zynqmp-fpga.c static int zynqmp_fpga_ops_write_complete(struct fpga_manager *mgr, mgr 79 drivers/fpga/zynqmp-fpga.c static enum fpga_mgr_states zynqmp_fpga_ops_state(struct fpga_manager *mgr) mgr 105 drivers/fpga/zynqmp-fpga.c struct fpga_manager *mgr; mgr 114 drivers/fpga/zynqmp-fpga.c mgr = devm_fpga_mgr_create(dev, "Xilinx ZynqMP FPGA Manager", mgr 116 drivers/fpga/zynqmp-fpga.c if (!mgr) mgr 119 drivers/fpga/zynqmp-fpga.c platform_set_drvdata(pdev, mgr); mgr 121 drivers/fpga/zynqmp-fpga.c ret = fpga_mgr_register(mgr); mgr 132 drivers/fpga/zynqmp-fpga.c struct fpga_manager *mgr = platform_get_drvdata(pdev); mgr 134 drivers/fpga/zynqmp-fpga.c fpga_mgr_unregister(mgr); mgr 257 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c struct amdgpu_ctx_mgr *mgr = &fpriv->ctx_mgr; mgr 265 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_lock(&mgr->lock); mgr 266 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c r = idr_alloc(&mgr->ctx_handles, ctx, 1, AMDGPU_VM_MAX_NUM_CTX, GFP_KERNEL); mgr 268 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_unlock(&mgr->lock); mgr 276 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c idr_remove(&mgr->ctx_handles, *id); mgr 280 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_unlock(&mgr->lock); mgr 301 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c struct amdgpu_ctx_mgr *mgr = &fpriv->ctx_mgr; mgr 304 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_lock(&mgr->lock); mgr 305 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c ctx = idr_remove(&mgr->ctx_handles, id); mgr 308 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_unlock(&mgr->lock); mgr 317 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c struct amdgpu_ctx_mgr *mgr; mgr 323 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mgr = &fpriv->ctx_mgr; mgr 324 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_lock(&mgr->lock); mgr 325 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c ctx = idr_find(&mgr->ctx_handles, id); mgr 327 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_unlock(&mgr->lock); mgr 344 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_unlock(&mgr->lock); mgr 353 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c struct amdgpu_ctx_mgr *mgr; mgr 359 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mgr = &fpriv->ctx_mgr; mgr 360 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_lock(&mgr->lock); mgr 361 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c ctx = idr_find(&mgr->ctx_handles, id); mgr 363 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_unlock(&mgr->lock); mgr 394 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_unlock(&mgr->lock); mgr 442 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c struct amdgpu_ctx_mgr *mgr; mgr 447 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mgr = &fpriv->ctx_mgr; mgr 449 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_lock(&mgr->lock); mgr 450 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c ctx = idr_find(&mgr->ctx_handles, id); mgr 453 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_unlock(&mgr->lock); mgr 564 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c void amdgpu_ctx_mgr_init(struct amdgpu_ctx_mgr *mgr) mgr 566 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_init(&mgr->lock); mgr 567 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c idr_init(&mgr->ctx_handles); mgr 570 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c long amdgpu_ctx_mgr_entity_flush(struct amdgpu_ctx_mgr *mgr, long timeout) mgr 577 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c idp = &mgr->ctx_handles; mgr 579 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_lock(&mgr->lock); mgr 588 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_unlock(&mgr->lock); mgr 592 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c void amdgpu_ctx_mgr_entity_fini(struct amdgpu_ctx_mgr *mgr) mgr 599 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c idp = &mgr->ctx_handles; mgr 615 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c void amdgpu_ctx_mgr_fini(struct amdgpu_ctx_mgr *mgr) mgr 621 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c amdgpu_ctx_mgr_entity_fini(mgr); mgr 623 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c idp = &mgr->ctx_handles; mgr 630 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c idr_destroy(&mgr->ctx_handles); mgr 631 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c mutex_destroy(&mgr->lock); mgr 85 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.h void amdgpu_ctx_mgr_init(struct amdgpu_ctx_mgr *mgr); mgr 86 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.h void amdgpu_ctx_mgr_entity_fini(struct amdgpu_ctx_mgr *mgr); mgr 87 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.h long amdgpu_ctx_mgr_entity_flush(struct amdgpu_ctx_mgr *mgr, long timeout); mgr 88 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.h void amdgpu_ctx_mgr_fini(struct amdgpu_ctx_mgr *mgr); mgr 91 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c struct amdgpu_gtt_mgr *mgr; mgr 95 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c mgr = kzalloc(sizeof(*mgr), GFP_KERNEL); mgr 96 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c if (!mgr) mgr 101 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c drm_mm_init(&mgr->mm, start, size); mgr 102 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c spin_lock_init(&mgr->lock); mgr 103 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c atomic64_set(&mgr->available, p_size); mgr 104 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c man->priv = mgr; mgr 131 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c struct amdgpu_gtt_mgr *mgr = man->priv; mgr 132 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c spin_lock(&mgr->lock); mgr 133 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c drm_mm_takedown(&mgr->mm); mgr 134 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c spin_unlock(&mgr->lock); mgr 135 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c kfree(mgr); mgr 174 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c struct amdgpu_gtt_mgr *mgr = man->priv; mgr 197 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c spin_lock(&mgr->lock); mgr 198 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c r = drm_mm_insert_node_in_range(&mgr->mm, &node->node, mem->num_pages, mgr 201 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c spin_unlock(&mgr->lock); mgr 224 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c struct amdgpu_gtt_mgr *mgr = man->priv; mgr 228 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c spin_lock(&mgr->lock); mgr 230 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c atomic64_read(&mgr->available) < mem->num_pages) { mgr 231 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c spin_unlock(&mgr->lock); mgr 234 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c atomic64_sub(mem->num_pages, &mgr->available); mgr 235 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c spin_unlock(&mgr->lock); mgr 262 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c atomic64_add(mem->num_pages, &mgr->available); mgr 280 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c struct amdgpu_gtt_mgr *mgr = man->priv; mgr 286 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c spin_lock(&mgr->lock); mgr 289 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c spin_unlock(&mgr->lock); mgr 290 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c atomic64_add(mem->num_pages, &mgr->available); mgr 305 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c struct amdgpu_gtt_mgr *mgr = man->priv; mgr 306 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c s64 result = man->size - atomic64_read(&mgr->available); mgr 313 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c struct amdgpu_gtt_mgr *mgr = man->priv; mgr 318 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c spin_lock(&mgr->lock); mgr 319 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c drm_mm_for_each_node(mm_node, &mgr->mm) { mgr 325 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c spin_unlock(&mgr->lock); mgr 341 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c struct amdgpu_gtt_mgr *mgr = man->priv; mgr 343 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c spin_lock(&mgr->lock); mgr 344 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c drm_mm_print(&mgr->mm, printer); mgr 345 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c spin_unlock(&mgr->lock); mgr 348 drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c man->size, (u64)atomic64_read(&mgr->available), mgr 125 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c struct amdgpu_vram_mgr *mgr; mgr 128 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c mgr = kzalloc(sizeof(*mgr), GFP_KERNEL); mgr 129 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c if (!mgr) mgr 132 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c drm_mm_init(&mgr->mm, 0, p_size); mgr 133 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c spin_lock_init(&mgr->lock); mgr 134 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c man->priv = mgr; mgr 172 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c struct amdgpu_vram_mgr *mgr = man->priv; mgr 174 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c spin_lock(&mgr->lock); mgr 175 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c drm_mm_takedown(&mgr->mm); mgr 176 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c spin_unlock(&mgr->lock); mgr 177 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c kfree(mgr); mgr 273 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c struct amdgpu_vram_mgr *mgr = man->priv; mgr 274 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c struct drm_mm *mm = &mgr->mm; mgr 288 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c if (atomic64_add_return(mem_bytes, &mgr->usage) > adev->gmc.mc_vram_size) { mgr 289 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c atomic64_sub(mem_bytes, &mgr->usage); mgr 311 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c atomic64_sub(mem_bytes, &mgr->usage); mgr 322 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c spin_lock(&mgr->lock); mgr 356 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c spin_unlock(&mgr->lock); mgr 358 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c atomic64_add(vis_usage, &mgr->vis_usage); mgr 367 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c spin_unlock(&mgr->lock); mgr 368 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c atomic64_sub(mem->num_pages << PAGE_SHIFT, &mgr->usage); mgr 388 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c struct amdgpu_vram_mgr *mgr = man->priv; mgr 396 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c spin_lock(&mgr->lock); mgr 404 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c spin_unlock(&mgr->lock); mgr 406 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c atomic64_sub(usage, &mgr->usage); mgr 407 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c atomic64_sub(vis_usage, &mgr->vis_usage); mgr 422 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c struct amdgpu_vram_mgr *mgr = man->priv; mgr 424 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c return atomic64_read(&mgr->usage); mgr 436 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c struct amdgpu_vram_mgr *mgr = man->priv; mgr 438 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c return atomic64_read(&mgr->vis_usage); mgr 452 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c struct amdgpu_vram_mgr *mgr = man->priv; mgr 454 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c spin_lock(&mgr->lock); mgr 455 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c drm_mm_print(&mgr->mm, printer); mgr 456 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c spin_unlock(&mgr->lock); mgr 963 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c struct drm_dp_mst_topology_mgr *mgr; mgr 976 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c mgr = &aconnector->mst_mgr; mgr 979 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c drm_dp_mst_topology_mgr_suspend(mgr); mgr 981 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ret = drm_dp_mst_topology_mgr_resume(mgr); mgr 983 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c drm_dp_mst_topology_mgr_set_mst(mgr, false); mgr 299 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c dm_dp_add_mst_connector(struct drm_dp_mst_topology_mgr *mgr, mgr 303 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c struct amdgpu_dm_connector *master = container_of(mgr, struct amdgpu_dm_connector, mst_mgr); mgr 365 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c static void dm_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr, mgr 368 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c struct amdgpu_dm_connector *master = container_of(mgr, struct amdgpu_dm_connector, mst_mgr); mgr 48 drivers/gpu/drm/drm_dp_mst_topology.c static bool dump_dp_payload_table(struct drm_dp_mst_topology_mgr *mgr, mgr 54 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_dpcd_write_payload(struct drm_dp_mst_topology_mgr *mgr, mgr 58 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_send_dpcd_read(struct drm_dp_mst_topology_mgr *mgr, mgr 61 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr, mgr 65 drivers/gpu/drm/drm_dp_mst_topology.c static void drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr, mgr 67 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_send_enum_path_resources(struct drm_dp_mst_topology_mgr *mgr, mgr 70 drivers/gpu/drm/drm_dp_mst_topology.c static bool drm_dp_validate_guid(struct drm_dp_mst_topology_mgr *mgr, mgr 75 drivers/gpu/drm/drm_dp_mst_topology.c static void drm_dp_mst_kick_tx(struct drm_dp_mst_topology_mgr *mgr); mgr 804 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_mst_assign_payload_id(struct drm_dp_mst_topology_mgr *mgr, mgr 809 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->payload_lock); mgr 810 drivers/gpu/drm/drm_dp_mst_topology.c ret = find_first_zero_bit(&mgr->payload_mask, mgr->max_payloads + 1); mgr 811 drivers/gpu/drm/drm_dp_mst_topology.c if (ret > mgr->max_payloads) { mgr 817 drivers/gpu/drm/drm_dp_mst_topology.c vcpi_ret = find_first_zero_bit(&mgr->vcpi_mask, mgr->max_payloads + 1); mgr 818 drivers/gpu/drm/drm_dp_mst_topology.c if (vcpi_ret > mgr->max_payloads) { mgr 824 drivers/gpu/drm/drm_dp_mst_topology.c set_bit(ret, &mgr->payload_mask); mgr 825 drivers/gpu/drm/drm_dp_mst_topology.c set_bit(vcpi_ret, &mgr->vcpi_mask); mgr 827 drivers/gpu/drm/drm_dp_mst_topology.c mgr->proposed_vcpis[ret - 1] = vcpi; mgr 829 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->payload_lock); mgr 833 drivers/gpu/drm/drm_dp_mst_topology.c static void drm_dp_mst_put_payload_id(struct drm_dp_mst_topology_mgr *mgr, mgr 840 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->payload_lock); mgr 842 drivers/gpu/drm/drm_dp_mst_topology.c clear_bit(vcpi - 1, &mgr->vcpi_mask); mgr 844 drivers/gpu/drm/drm_dp_mst_topology.c for (i = 0; i < mgr->max_payloads; i++) { mgr 845 drivers/gpu/drm/drm_dp_mst_topology.c if (mgr->proposed_vcpis[i]) mgr 846 drivers/gpu/drm/drm_dp_mst_topology.c if (mgr->proposed_vcpis[i]->vcpi == vcpi) { mgr 847 drivers/gpu/drm/drm_dp_mst_topology.c mgr->proposed_vcpis[i] = NULL; mgr 848 drivers/gpu/drm/drm_dp_mst_topology.c clear_bit(i + 1, &mgr->payload_mask); mgr 851 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->payload_lock); mgr 854 drivers/gpu/drm/drm_dp_mst_topology.c static bool check_txmsg_state(struct drm_dp_mst_topology_mgr *mgr, mgr 872 drivers/gpu/drm/drm_dp_mst_topology.c struct drm_dp_mst_topology_mgr *mgr = mstb->mgr; mgr 875 drivers/gpu/drm/drm_dp_mst_topology.c ret = wait_event_timeout(mgr->tx_waitq, mgr 876 drivers/gpu/drm/drm_dp_mst_topology.c check_txmsg_state(mgr, txmsg), mgr 878 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mstb->mgr->qlock); mgr 902 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->qlock); mgr 1115 drivers/gpu/drm/drm_dp_mst_topology.c struct drm_dp_mst_topology_mgr *mgr = mstb->mgr; mgr 1119 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->lock); mgr 1124 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->lock); mgr 1127 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mstb->mgr->qlock); mgr 1138 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mstb->mgr->qlock); mgr 1141 drivers/gpu/drm/drm_dp_mst_topology.c wake_up_all(&mstb->mgr->tx_waitq); mgr 1243 drivers/gpu/drm/drm_dp_mst_topology.c struct drm_dp_mst_topology_mgr *mgr = port->mgr; mgr 1258 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->destroy_connector_lock); mgr 1259 drivers/gpu/drm/drm_dp_mst_topology.c list_add(&port->next, &mgr->destroy_connector_list); mgr 1260 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->destroy_connector_lock); mgr 1261 drivers/gpu/drm/drm_dp_mst_topology.c schedule_work(&mgr->destroy_connector_work); mgr 1366 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_mst_topology_get_mstb_validated(struct drm_dp_mst_topology_mgr *mgr, mgr 1371 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->lock); mgr 1372 drivers/gpu/drm/drm_dp_mst_topology.c if (mgr->mst_primary) { mgr 1374 drivers/gpu/drm/drm_dp_mst_topology.c mgr->mst_primary, mstb); mgr 1379 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->lock); mgr 1404 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_mst_topology_get_port_validated(struct drm_dp_mst_topology_mgr *mgr, mgr 1409 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->lock); mgr 1410 drivers/gpu/drm/drm_dp_mst_topology.c if (mgr->mst_primary) { mgr 1412 drivers/gpu/drm/drm_dp_mst_topology.c mgr->mst_primary, port); mgr 1417 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->lock); mgr 1476 drivers/gpu/drm/drm_dp_mst_topology.c port->mstb->mgr = port->mgr; mgr 1510 drivers/gpu/drm/drm_dp_mst_topology.c return drm_dp_send_dpcd_read(port->mgr, port, mgr 1533 drivers/gpu/drm/drm_dp_mst_topology.c return drm_dp_send_dpcd_write(port->mgr, port, mgr 1543 drivers/gpu/drm/drm_dp_mst_topology.c if (!drm_dp_validate_guid(mstb->mgr, mstb->guid)) { mgr 1546 drivers/gpu/drm/drm_dp_mst_topology.c mstb->mgr, mgr 1554 drivers/gpu/drm/drm_dp_mst_topology.c mstb->mgr->aux, mgr 1569 drivers/gpu/drm/drm_dp_mst_topology.c snprintf(proppath, proppath_size, "mst:%d", mstb->mgr->conn_base_id); mgr 1639 drivers/gpu/drm/drm_dp_mst_topology.c port->mgr = mstb->mgr; mgr 1668 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mstb->mgr->lock); mgr 1671 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mstb->mgr->lock); mgr 1677 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_send_enum_path_resources(mstb->mgr, mgr 1690 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_send_link_address(mstb->mgr, port->mstb); mgr 1698 drivers/gpu/drm/drm_dp_mst_topology.c port->connector = (*mstb->mgr->cbs->add_connector)(mstb->mgr, mgr 1703 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mstb->mgr->lock); mgr 1705 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mstb->mgr->lock); mgr 1717 drivers/gpu/drm/drm_dp_mst_topology.c (*mstb->mgr->cbs->register_connector)(port->connector); mgr 1759 drivers/gpu/drm/drm_dp_mst_topology.c queue_work(system_long_wq, &mstb->mgr->work); mgr 1763 drivers/gpu/drm/drm_dp_mst_topology.c static struct drm_dp_mst_branch *drm_dp_get_mst_branch_device(struct drm_dp_mst_topology_mgr *mgr, mgr 1771 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->lock); mgr 1772 drivers/gpu/drm/drm_dp_mst_topology.c mstb = mgr->mst_primary; mgr 1797 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->lock); mgr 1826 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_get_mst_branch_device_by_guid(struct drm_dp_mst_topology_mgr *mgr, mgr 1833 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->lock); mgr 1835 drivers/gpu/drm/drm_dp_mst_topology.c mstb = get_mst_branch_device_by_guid_helper(mgr->mst_primary, guid); mgr 1842 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->lock); mgr 1846 drivers/gpu/drm/drm_dp_mst_topology.c static void drm_dp_check_and_send_link_address(struct drm_dp_mst_topology_mgr *mgr, mgr 1852 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_send_link_address(mgr, mstb); mgr 1862 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_send_enum_path_resources(mgr, mstb, port); mgr 1866 drivers/gpu/drm/drm_dp_mst_topology.c mgr, port->mstb); mgr 1868 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_check_and_send_link_address(mgr, mstb_child); mgr 1877 drivers/gpu/drm/drm_dp_mst_topology.c struct drm_dp_mst_topology_mgr *mgr = container_of(work, struct drm_dp_mst_topology_mgr, work); mgr 1881 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->lock); mgr 1882 drivers/gpu/drm/drm_dp_mst_topology.c mstb = mgr->mst_primary; mgr 1888 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->lock); mgr 1890 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_check_and_send_link_address(mgr, mstb); mgr 1895 drivers/gpu/drm/drm_dp_mst_topology.c static bool drm_dp_validate_guid(struct drm_dp_mst_topology_mgr *mgr, mgr 1924 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_send_sideband_msg(struct drm_dp_mst_topology_mgr *mgr, mgr 1936 drivers/gpu/drm/drm_dp_mst_topology.c tosend = min3(mgr->max_dpcd_transaction_bytes, 16, total); mgr 1938 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_dpcd_write(mgr->aux, regbase + offset, mgr 1995 drivers/gpu/drm/drm_dp_mst_topology.c static int process_single_tx_qlock(struct drm_dp_mst_topology_mgr *mgr, mgr 2037 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_send_sideband_msg(mgr, up, chunk, idx); mgr 2051 drivers/gpu/drm/drm_dp_mst_topology.c static void process_single_down_tx_qlock(struct drm_dp_mst_topology_mgr *mgr) mgr 2056 drivers/gpu/drm/drm_dp_mst_topology.c WARN_ON(!mutex_is_locked(&mgr->qlock)); mgr 2059 drivers/gpu/drm/drm_dp_mst_topology.c if (list_empty(&mgr->tx_msg_downq)) mgr 2062 drivers/gpu/drm/drm_dp_mst_topology.c txmsg = list_first_entry(&mgr->tx_msg_downq, struct drm_dp_sideband_msg_tx, next); mgr 2063 drivers/gpu/drm/drm_dp_mst_topology.c ret = process_single_tx_qlock(mgr, txmsg, false); mgr 2073 drivers/gpu/drm/drm_dp_mst_topology.c wake_up_all(&mgr->tx_waitq); mgr 2078 drivers/gpu/drm/drm_dp_mst_topology.c static void process_single_up_tx_qlock(struct drm_dp_mst_topology_mgr *mgr, mgr 2084 drivers/gpu/drm/drm_dp_mst_topology.c ret = process_single_tx_qlock(mgr, txmsg, true); mgr 2096 drivers/gpu/drm/drm_dp_mst_topology.c static void drm_dp_queue_down_tx(struct drm_dp_mst_topology_mgr *mgr, mgr 2099 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->qlock); mgr 2100 drivers/gpu/drm/drm_dp_mst_topology.c list_add_tail(&txmsg->next, &mgr->tx_msg_downq); mgr 2101 drivers/gpu/drm/drm_dp_mst_topology.c if (list_is_singular(&mgr->tx_msg_downq)) mgr 2102 drivers/gpu/drm/drm_dp_mst_topology.c process_single_down_tx_qlock(mgr); mgr 2103 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->qlock); mgr 2106 drivers/gpu/drm/drm_dp_mst_topology.c static void drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr, mgr 2121 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_queue_down_tx(mgr, txmsg); mgr 2147 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_add_port(mstb, mgr->dev, &txmsg->reply.u.link_addr.ports[i]); mgr 2149 drivers/gpu/drm/drm_dp_mst_topology.c drm_kms_helper_hotplug_event(mgr->dev); mgr 2159 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_send_enum_path_resources(struct drm_dp_mst_topology_mgr *mgr, mgr 2174 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_queue_down_tx(mgr, txmsg); mgr 2213 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_get_last_connected_port_and_mstb(struct drm_dp_mst_topology_mgr *mgr, mgr 2220 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->lock); mgr 2221 drivers/gpu/drm/drm_dp_mst_topology.c if (!mgr->mst_primary) mgr 2238 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->lock); mgr 2242 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr, mgr 2254 drivers/gpu/drm/drm_dp_mst_topology.c mstb = drm_dp_mst_topology_get_mstb_validated(mgr, port->parent); mgr 2256 drivers/gpu/drm/drm_dp_mst_topology.c mstb = drm_dp_get_last_connected_port_and_mstb(mgr, mgr 2278 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_queue_down_tx(mgr, txmsg); mgr 2301 drivers/gpu/drm/drm_dp_mst_topology.c int drm_dp_send_power_updown_phy(struct drm_dp_mst_topology_mgr *mgr, mgr 2307 drivers/gpu/drm/drm_dp_mst_topology.c port = drm_dp_mst_topology_get_port_validated(mgr, port); mgr 2319 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_queue_down_tx(mgr, txmsg); mgr 2335 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_create_payload_step1(struct drm_dp_mst_topology_mgr *mgr, mgr 2341 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_dpcd_write_payload(mgr, id, payload); mgr 2350 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_create_payload_step2(struct drm_dp_mst_topology_mgr *mgr, mgr 2356 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_payload_send_msg(mgr, port, id, port->vcpi.pbn); mgr 2363 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_destroy_payload_step1(struct drm_dp_mst_topology_mgr *mgr, mgr 2371 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_payload_send_msg(mgr, port, id, 0); mgr 2374 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_dpcd_write_payload(mgr, id, payload); mgr 2379 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_destroy_payload_step2(struct drm_dp_mst_topology_mgr *mgr, mgr 2400 drivers/gpu/drm/drm_dp_mst_topology.c int drm_dp_update_payload_part1(struct drm_dp_mst_topology_mgr *mgr) mgr 2407 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->payload_lock); mgr 2408 drivers/gpu/drm/drm_dp_mst_topology.c for (i = 0; i < mgr->max_payloads; i++) { mgr 2409 drivers/gpu/drm/drm_dp_mst_topology.c struct drm_dp_vcpi *vcpi = mgr->proposed_vcpis[i]; mgr 2410 drivers/gpu/drm/drm_dp_mst_topology.c struct drm_dp_payload *payload = &mgr->payloads[i]; mgr 2425 drivers/gpu/drm/drm_dp_mst_topology.c mgr, port); mgr 2427 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->payload_lock); mgr 2446 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_create_payload_step1(mgr, vcpi->vcpi, mgr 2453 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_destroy_payload_step1(mgr, port, mgr 2468 drivers/gpu/drm/drm_dp_mst_topology.c for (i = 0; i < mgr->max_payloads; /* do nothing */) { mgr 2469 drivers/gpu/drm/drm_dp_mst_topology.c if (mgr->payloads[i].payload_state != DP_PAYLOAD_DELETE_LOCAL) { mgr 2475 drivers/gpu/drm/drm_dp_mst_topology.c for (j = i; j < mgr->max_payloads - 1; j++) { mgr 2476 drivers/gpu/drm/drm_dp_mst_topology.c mgr->payloads[j] = mgr->payloads[j + 1]; mgr 2477 drivers/gpu/drm/drm_dp_mst_topology.c mgr->proposed_vcpis[j] = mgr->proposed_vcpis[j + 1]; mgr 2479 drivers/gpu/drm/drm_dp_mst_topology.c if (mgr->proposed_vcpis[j] && mgr 2480 drivers/gpu/drm/drm_dp_mst_topology.c mgr->proposed_vcpis[j]->num_slots) { mgr 2481 drivers/gpu/drm/drm_dp_mst_topology.c set_bit(j + 1, &mgr->payload_mask); mgr 2483 drivers/gpu/drm/drm_dp_mst_topology.c clear_bit(j + 1, &mgr->payload_mask); mgr 2487 drivers/gpu/drm/drm_dp_mst_topology.c memset(&mgr->payloads[mgr->max_payloads - 1], 0, mgr 2489 drivers/gpu/drm/drm_dp_mst_topology.c mgr->proposed_vcpis[mgr->max_payloads - 1] = NULL; mgr 2490 drivers/gpu/drm/drm_dp_mst_topology.c clear_bit(mgr->max_payloads, &mgr->payload_mask); mgr 2492 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->payload_lock); mgr 2507 drivers/gpu/drm/drm_dp_mst_topology.c int drm_dp_update_payload_part2(struct drm_dp_mst_topology_mgr *mgr) mgr 2512 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->payload_lock); mgr 2513 drivers/gpu/drm/drm_dp_mst_topology.c for (i = 0; i < mgr->max_payloads; i++) { mgr 2515 drivers/gpu/drm/drm_dp_mst_topology.c if (!mgr->proposed_vcpis[i]) mgr 2518 drivers/gpu/drm/drm_dp_mst_topology.c port = container_of(mgr->proposed_vcpis[i], struct drm_dp_mst_port, vcpi); mgr 2520 drivers/gpu/drm/drm_dp_mst_topology.c DRM_DEBUG_KMS("payload %d %d\n", i, mgr->payloads[i].payload_state); mgr 2521 drivers/gpu/drm/drm_dp_mst_topology.c if (mgr->payloads[i].payload_state == DP_PAYLOAD_LOCAL) { mgr 2522 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_create_payload_step2(mgr, port, mgr->proposed_vcpis[i]->vcpi, &mgr->payloads[i]); mgr 2523 drivers/gpu/drm/drm_dp_mst_topology.c } else if (mgr->payloads[i].payload_state == DP_PAYLOAD_DELETE_LOCAL) { mgr 2524 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_destroy_payload_step2(mgr, mgr->proposed_vcpis[i]->vcpi, &mgr->payloads[i]); mgr 2527 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->payload_lock); mgr 2531 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->payload_lock); mgr 2536 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_send_dpcd_read(struct drm_dp_mst_topology_mgr *mgr, mgr 2545 drivers/gpu/drm/drm_dp_mst_topology.c mstb = drm_dp_mst_topology_get_mstb_validated(mgr, port->parent); mgr 2558 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_queue_down_tx(mgr, txmsg); mgr 2589 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr, mgr 2598 drivers/gpu/drm/drm_dp_mst_topology.c mstb = drm_dp_mst_topology_get_mstb_validated(mgr, port->parent); mgr 2611 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_queue_down_tx(mgr, txmsg); mgr 2636 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_send_up_ack_reply(struct drm_dp_mst_topology_mgr *mgr, mgr 2650 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->qlock); mgr 2652 drivers/gpu/drm/drm_dp_mst_topology.c process_single_up_tx_qlock(mgr, txmsg); mgr 2654 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->qlock); mgr 2694 drivers/gpu/drm/drm_dp_mst_topology.c int drm_dp_mst_topology_mgr_set_mst(struct drm_dp_mst_topology_mgr *mgr, bool mst_state) mgr 2699 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->payload_lock); mgr 2700 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->lock); mgr 2701 drivers/gpu/drm/drm_dp_mst_topology.c if (mst_state == mgr->mst_state) mgr 2704 drivers/gpu/drm/drm_dp_mst_topology.c mgr->mst_state = mst_state; mgr 2707 drivers/gpu/drm/drm_dp_mst_topology.c WARN_ON(mgr->mst_primary); mgr 2710 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_dpcd_read(mgr->aux, DP_DPCD_REV, mgr->dpcd, DP_RECEIVER_CAP_SIZE); mgr 2716 drivers/gpu/drm/drm_dp_mst_topology.c if (!drm_dp_get_vc_payload_bw(mgr->dpcd[1], mgr 2717 drivers/gpu/drm/drm_dp_mst_topology.c mgr->dpcd[2] & DP_MAX_LANE_COUNT_MASK, mgr 2718 drivers/gpu/drm/drm_dp_mst_topology.c &mgr->pbn_div)) { mgr 2729 drivers/gpu/drm/drm_dp_mst_topology.c mstb->mgr = mgr; mgr 2732 drivers/gpu/drm/drm_dp_mst_topology.c mgr->mst_primary = mstb; mgr 2733 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_mst_topology_get_mstb(mgr->mst_primary); mgr 2735 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_dpcd_writeb(mgr->aux, DP_MSTM_CTRL, mgr 2745 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_dpcd_write_payload(mgr, 0, &reset_pay); mgr 2748 drivers/gpu/drm/drm_dp_mst_topology.c queue_work(system_long_wq, &mgr->work); mgr 2753 drivers/gpu/drm/drm_dp_mst_topology.c mstb = mgr->mst_primary; mgr 2754 drivers/gpu/drm/drm_dp_mst_topology.c mgr->mst_primary = NULL; mgr 2756 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_dpcd_writeb(mgr->aux, DP_MSTM_CTRL, 0); mgr 2758 drivers/gpu/drm/drm_dp_mst_topology.c memset(mgr->payloads, 0, mgr 2759 drivers/gpu/drm/drm_dp_mst_topology.c mgr->max_payloads * sizeof(mgr->payloads[0])); mgr 2760 drivers/gpu/drm/drm_dp_mst_topology.c memset(mgr->proposed_vcpis, 0, mgr 2761 drivers/gpu/drm/drm_dp_mst_topology.c mgr->max_payloads * sizeof(mgr->proposed_vcpis[0])); mgr 2762 drivers/gpu/drm/drm_dp_mst_topology.c mgr->payload_mask = 0; mgr 2763 drivers/gpu/drm/drm_dp_mst_topology.c set_bit(0, &mgr->payload_mask); mgr 2764 drivers/gpu/drm/drm_dp_mst_topology.c mgr->vcpi_mask = 0; mgr 2768 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->lock); mgr 2769 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->payload_lock); mgr 2784 drivers/gpu/drm/drm_dp_mst_topology.c void drm_dp_mst_topology_mgr_suspend(struct drm_dp_mst_topology_mgr *mgr) mgr 2786 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->lock); mgr 2787 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_dpcd_writeb(mgr->aux, DP_MSTM_CTRL, mgr 2789 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->lock); mgr 2790 drivers/gpu/drm/drm_dp_mst_topology.c flush_work(&mgr->work); mgr 2791 drivers/gpu/drm/drm_dp_mst_topology.c flush_work(&mgr->destroy_connector_work); mgr 2805 drivers/gpu/drm/drm_dp_mst_topology.c int drm_dp_mst_topology_mgr_resume(struct drm_dp_mst_topology_mgr *mgr) mgr 2809 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->lock); mgr 2811 drivers/gpu/drm/drm_dp_mst_topology.c if (mgr->mst_primary) { mgr 2815 drivers/gpu/drm/drm_dp_mst_topology.c sret = drm_dp_dpcd_read(mgr->aux, DP_DPCD_REV, mgr->dpcd, DP_RECEIVER_CAP_SIZE); mgr 2822 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_dpcd_writeb(mgr->aux, DP_MSTM_CTRL, mgr 2831 drivers/gpu/drm/drm_dp_mst_topology.c sret = drm_dp_dpcd_read(mgr->aux, DP_GUID, guid, 16); mgr 2837 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_check_mstb_guid(mgr->mst_primary, guid); mgr 2844 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->lock); mgr 2849 drivers/gpu/drm/drm_dp_mst_topology.c static bool drm_dp_get_one_sb_msg(struct drm_dp_mst_topology_mgr *mgr, bool up) mgr 2857 drivers/gpu/drm/drm_dp_mst_topology.c msg = up ? &mgr->up_req_recv : &mgr->down_rep_recv; mgr 2859 drivers/gpu/drm/drm_dp_mst_topology.c len = min(mgr->max_dpcd_transaction_bytes, 16); mgr 2860 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_dpcd_read(mgr->aux, basereg, mgr 2877 drivers/gpu/drm/drm_dp_mst_topology.c len = min3(replylen, mgr->max_dpcd_transaction_bytes, 16); mgr 2878 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_dpcd_read(mgr->aux, basereg + curreply, mgr 2898 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_mst_handle_down_rep(struct drm_dp_mst_topology_mgr *mgr) mgr 2902 drivers/gpu/drm/drm_dp_mst_topology.c if (!drm_dp_get_one_sb_msg(mgr, false)) { mgr 2903 drivers/gpu/drm/drm_dp_mst_topology.c memset(&mgr->down_rep_recv, 0, mgr 2908 drivers/gpu/drm/drm_dp_mst_topology.c if (mgr->down_rep_recv.have_eomt) { mgr 2912 drivers/gpu/drm/drm_dp_mst_topology.c mstb = drm_dp_get_mst_branch_device(mgr, mgr 2913 drivers/gpu/drm/drm_dp_mst_topology.c mgr->down_rep_recv.initial_hdr.lct, mgr 2914 drivers/gpu/drm/drm_dp_mst_topology.c mgr->down_rep_recv.initial_hdr.rad); mgr 2917 drivers/gpu/drm/drm_dp_mst_topology.c DRM_DEBUG_KMS("Got MST reply from unknown device %d\n", mgr->down_rep_recv.initial_hdr.lct); mgr 2918 drivers/gpu/drm/drm_dp_mst_topology.c memset(&mgr->down_rep_recv, 0, sizeof(struct drm_dp_sideband_msg_rx)); mgr 2923 drivers/gpu/drm/drm_dp_mst_topology.c slot = mgr->down_rep_recv.initial_hdr.seqno; mgr 2924 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->qlock); mgr 2927 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->qlock); mgr 2932 drivers/gpu/drm/drm_dp_mst_topology.c mgr->down_rep_recv.initial_hdr.seqno, mgr 2933 drivers/gpu/drm/drm_dp_mst_topology.c mgr->down_rep_recv.initial_hdr.lct, mgr 2934 drivers/gpu/drm/drm_dp_mst_topology.c mgr->down_rep_recv.initial_hdr.rad[0], mgr 2935 drivers/gpu/drm/drm_dp_mst_topology.c mgr->down_rep_recv.msg[0]); mgr 2937 drivers/gpu/drm/drm_dp_mst_topology.c memset(&mgr->down_rep_recv, 0, sizeof(struct drm_dp_sideband_msg_rx)); mgr 2941 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_sideband_parse_reply(&mgr->down_rep_recv, &txmsg->reply); mgr 2951 drivers/gpu/drm/drm_dp_mst_topology.c memset(&mgr->down_rep_recv, 0, sizeof(struct drm_dp_sideband_msg_rx)); mgr 2954 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->qlock); mgr 2957 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->qlock); mgr 2959 drivers/gpu/drm/drm_dp_mst_topology.c wake_up_all(&mgr->tx_waitq); mgr 2964 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_mst_handle_up_req(struct drm_dp_mst_topology_mgr *mgr) mgr 2968 drivers/gpu/drm/drm_dp_mst_topology.c if (!drm_dp_get_one_sb_msg(mgr, true)) { mgr 2969 drivers/gpu/drm/drm_dp_mst_topology.c memset(&mgr->up_req_recv, 0, mgr 2974 drivers/gpu/drm/drm_dp_mst_topology.c if (mgr->up_req_recv.have_eomt) { mgr 2979 drivers/gpu/drm/drm_dp_mst_topology.c if (!mgr->up_req_recv.initial_hdr.broadcast) { mgr 2980 drivers/gpu/drm/drm_dp_mst_topology.c mstb = drm_dp_get_mst_branch_device(mgr, mgr 2981 drivers/gpu/drm/drm_dp_mst_topology.c mgr->up_req_recv.initial_hdr.lct, mgr 2982 drivers/gpu/drm/drm_dp_mst_topology.c mgr->up_req_recv.initial_hdr.rad); mgr 2984 drivers/gpu/drm/drm_dp_mst_topology.c DRM_DEBUG_KMS("Got MST reply from unknown device %d\n", mgr->up_req_recv.initial_hdr.lct); mgr 2985 drivers/gpu/drm/drm_dp_mst_topology.c memset(&mgr->up_req_recv, 0, sizeof(struct drm_dp_sideband_msg_rx)); mgr 2990 drivers/gpu/drm/drm_dp_mst_topology.c seqno = mgr->up_req_recv.initial_hdr.seqno; mgr 2991 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_sideband_parse_req(&mgr->up_req_recv, &msg); mgr 2994 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_send_up_ack_reply(mgr, mgr->mst_primary, msg.req_type, seqno, false); mgr 2997 drivers/gpu/drm/drm_dp_mst_topology.c mstb = drm_dp_get_mst_branch_device_by_guid(mgr, msg.u.conn_stat.guid); mgr 3000 drivers/gpu/drm/drm_dp_mst_topology.c DRM_DEBUG_KMS("Got MST reply from unknown device %d\n", mgr->up_req_recv.initial_hdr.lct); mgr 3001 drivers/gpu/drm/drm_dp_mst_topology.c memset(&mgr->up_req_recv, 0, sizeof(struct drm_dp_sideband_msg_rx)); mgr 3008 drivers/gpu/drm/drm_dp_mst_topology.c drm_kms_helper_hotplug_event(mgr->dev); mgr 3011 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_send_up_ack_reply(mgr, mgr->mst_primary, msg.req_type, seqno, false); mgr 3013 drivers/gpu/drm/drm_dp_mst_topology.c mstb = drm_dp_get_mst_branch_device_by_guid(mgr, msg.u.resource_stat.guid); mgr 3016 drivers/gpu/drm/drm_dp_mst_topology.c DRM_DEBUG_KMS("Got MST reply from unknown device %d\n", mgr->up_req_recv.initial_hdr.lct); mgr 3017 drivers/gpu/drm/drm_dp_mst_topology.c memset(&mgr->up_req_recv, 0, sizeof(struct drm_dp_sideband_msg_rx)); mgr 3027 drivers/gpu/drm/drm_dp_mst_topology.c memset(&mgr->up_req_recv, 0, sizeof(struct drm_dp_sideband_msg_rx)); mgr 3043 drivers/gpu/drm/drm_dp_mst_topology.c int drm_dp_mst_hpd_irq(struct drm_dp_mst_topology_mgr *mgr, u8 *esi, bool *handled) mgr 3050 drivers/gpu/drm/drm_dp_mst_topology.c if (sc != mgr->sink_count) { mgr 3051 drivers/gpu/drm/drm_dp_mst_topology.c mgr->sink_count = sc; mgr 3056 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_mst_handle_down_rep(mgr); mgr 3061 drivers/gpu/drm/drm_dp_mst_topology.c ret |= drm_dp_mst_handle_up_req(mgr); mgr 3065 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_mst_kick_tx(mgr); mgr 3080 drivers/gpu/drm/drm_dp_mst_topology.c struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port) mgr 3085 drivers/gpu/drm/drm_dp_mst_topology.c port = drm_dp_mst_topology_get_port_validated(mgr, port); mgr 3122 drivers/gpu/drm/drm_dp_mst_topology.c bool drm_dp_mst_port_has_audio(struct drm_dp_mst_topology_mgr *mgr, mgr 3127 drivers/gpu/drm/drm_dp_mst_topology.c port = drm_dp_mst_topology_get_port_validated(mgr, port); mgr 3146 drivers/gpu/drm/drm_dp_mst_topology.c struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port) mgr 3151 drivers/gpu/drm/drm_dp_mst_topology.c port = drm_dp_mst_topology_get_port_validated(mgr, port); mgr 3178 drivers/gpu/drm/drm_dp_mst_topology.c int drm_dp_find_vcpi_slots(struct drm_dp_mst_topology_mgr *mgr, mgr 3183 drivers/gpu/drm/drm_dp_mst_topology.c num_slots = DIV_ROUND_UP(pbn, mgr->pbn_div); mgr 3192 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_init_vcpi(struct drm_dp_mst_topology_mgr *mgr, mgr 3202 drivers/gpu/drm/drm_dp_mst_topology.c vcpi->aligned_pbn = slots * mgr->pbn_div; mgr 3205 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_mst_assign_payload_id(mgr, vcpi); mgr 3242 drivers/gpu/drm/drm_dp_mst_topology.c struct drm_dp_mst_topology_mgr *mgr, mgr 3249 drivers/gpu/drm/drm_dp_mst_topology.c topology_state = drm_atomic_get_mst_topology_state(state, mgr); mgr 3276 drivers/gpu/drm/drm_dp_mst_topology.c req_slots = DIV_ROUND_UP(pbn, mgr->pbn_div); mgr 3326 drivers/gpu/drm/drm_dp_mst_topology.c struct drm_dp_mst_topology_mgr *mgr, mgr 3333 drivers/gpu/drm/drm_dp_mst_topology.c topology_state = drm_atomic_get_mst_topology_state(state, mgr); mgr 3366 drivers/gpu/drm/drm_dp_mst_topology.c bool drm_dp_mst_allocate_vcpi(struct drm_dp_mst_topology_mgr *mgr, mgr 3371 drivers/gpu/drm/drm_dp_mst_topology.c port = drm_dp_mst_topology_get_port_validated(mgr, port); mgr 3387 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_init_vcpi(mgr, &port->vcpi, pbn, slots); mgr 3390 drivers/gpu/drm/drm_dp_mst_topology.c DIV_ROUND_UP(pbn, mgr->pbn_div), ret); mgr 3405 drivers/gpu/drm/drm_dp_mst_topology.c int drm_dp_mst_get_vcpi_slots(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port) mgr 3408 drivers/gpu/drm/drm_dp_mst_topology.c port = drm_dp_mst_topology_get_port_validated(mgr, port); mgr 3425 drivers/gpu/drm/drm_dp_mst_topology.c void drm_dp_mst_reset_vcpi_slots(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port) mgr 3444 drivers/gpu/drm/drm_dp_mst_topology.c void drm_dp_mst_deallocate_vcpi(struct drm_dp_mst_topology_mgr *mgr, mgr 3450 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_mst_put_payload_id(mgr, port->vcpi.vcpi); mgr 3459 drivers/gpu/drm/drm_dp_mst_topology.c static int drm_dp_dpcd_write_payload(struct drm_dp_mst_topology_mgr *mgr, mgr 3466 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_dpcd_writeb(mgr->aux, DP_PAYLOAD_TABLE_UPDATE_STATUS, mgr 3473 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_dpcd_write(mgr->aux, DP_PAYLOAD_ALLOCATE_SET, payload_alloc, 3); mgr 3480 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_dpcd_readb(mgr->aux, DP_PAYLOAD_TABLE_UPDATE_STATUS, &status); mgr 3508 drivers/gpu/drm/drm_dp_mst_topology.c int drm_dp_check_act_status(struct drm_dp_mst_topology_mgr *mgr) mgr 3515 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_dpcd_readb(mgr->aux, DP_PAYLOAD_TABLE_UPDATE_STATUS, &status); mgr 3602 drivers/gpu/drm/drm_dp_mst_topology.c static void drm_dp_mst_kick_tx(struct drm_dp_mst_topology_mgr *mgr) mgr 3604 drivers/gpu/drm/drm_dp_mst_topology.c queue_work(system_long_wq, &mgr->tx_work); mgr 3629 drivers/gpu/drm/drm_dp_mst_topology.c static bool dump_dp_payload_table(struct drm_dp_mst_topology_mgr *mgr, mgr 3635 drivers/gpu/drm/drm_dp_mst_topology.c if (drm_dp_dpcd_read(mgr->aux, mgr 3643 drivers/gpu/drm/drm_dp_mst_topology.c static void fetch_monitor_name(struct drm_dp_mst_topology_mgr *mgr, mgr 3649 drivers/gpu/drm/drm_dp_mst_topology.c mst_edid = drm_dp_mst_get_edid(port->connector, mgr, port); mgr 3661 drivers/gpu/drm/drm_dp_mst_topology.c struct drm_dp_mst_topology_mgr *mgr) mgr 3666 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->lock); mgr 3667 drivers/gpu/drm/drm_dp_mst_topology.c if (mgr->mst_primary) mgr 3668 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_mst_dump_mstb(m, mgr->mst_primary); mgr 3671 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->lock); mgr 3673 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->payload_lock); mgr 3674 drivers/gpu/drm/drm_dp_mst_topology.c seq_printf(m, "vcpi: %lx %lx %d\n", mgr->payload_mask, mgr->vcpi_mask, mgr 3675 drivers/gpu/drm/drm_dp_mst_topology.c mgr->max_payloads); mgr 3677 drivers/gpu/drm/drm_dp_mst_topology.c for (i = 0; i < mgr->max_payloads; i++) { mgr 3678 drivers/gpu/drm/drm_dp_mst_topology.c if (mgr->proposed_vcpis[i]) { mgr 3681 drivers/gpu/drm/drm_dp_mst_topology.c port = container_of(mgr->proposed_vcpis[i], struct drm_dp_mst_port, vcpi); mgr 3682 drivers/gpu/drm/drm_dp_mst_topology.c fetch_monitor_name(mgr, port, name, sizeof(name)); mgr 3690 drivers/gpu/drm/drm_dp_mst_topology.c for (i = 0; i < mgr->max_payloads; i++) { mgr 3693 drivers/gpu/drm/drm_dp_mst_topology.c mgr->payloads[i].payload_state, mgr 3694 drivers/gpu/drm/drm_dp_mst_topology.c mgr->payloads[i].start_slot, mgr 3695 drivers/gpu/drm/drm_dp_mst_topology.c mgr->payloads[i].num_slots); mgr 3699 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->payload_lock); mgr 3701 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->lock); mgr 3702 drivers/gpu/drm/drm_dp_mst_topology.c if (mgr->mst_primary) { mgr 3706 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_dpcd_read(mgr->aux, DP_DPCD_REV, buf, DP_RECEIVER_CAP_SIZE); mgr 3708 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_dpcd_read(mgr->aux, DP_FAUX_CAP, buf, 2); mgr 3710 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_dpcd_read(mgr->aux, DP_MSTM_CTRL, buf, 1); mgr 3714 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_dpcd_read(mgr->aux, DP_BRANCH_OUI, buf, DP_BRANCH_OUI_HEADER_SIZE); mgr 3720 drivers/gpu/drm/drm_dp_mst_topology.c if (dump_dp_payload_table(mgr, buf)) mgr 3724 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->lock); mgr 3731 drivers/gpu/drm/drm_dp_mst_topology.c struct drm_dp_mst_topology_mgr *mgr = container_of(work, struct drm_dp_mst_topology_mgr, tx_work); mgr 3733 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->qlock); mgr 3734 drivers/gpu/drm/drm_dp_mst_topology.c if (!list_empty(&mgr->tx_msg_downq)) mgr 3735 drivers/gpu/drm/drm_dp_mst_topology.c process_single_down_tx_qlock(mgr); mgr 3736 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->qlock); mgr 3741 drivers/gpu/drm/drm_dp_mst_topology.c struct drm_dp_mst_topology_mgr *mgr = container_of(work, struct drm_dp_mst_topology_mgr, destroy_connector_work); mgr 3750 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->destroy_connector_lock); mgr 3751 drivers/gpu/drm/drm_dp_mst_topology.c port = list_first_entry_or_null(&mgr->destroy_connector_list, struct drm_dp_mst_port, next); mgr 3753 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->destroy_connector_lock); mgr 3757 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->destroy_connector_lock); mgr 3761 drivers/gpu/drm/drm_dp_mst_topology.c mgr->cbs->destroy_connector(mgr, port->connector); mgr 3770 drivers/gpu/drm/drm_dp_mst_topology.c drm_kms_helper_hotplug_event(mgr->dev); mgr 3831 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_mst_atomic_check_topology_state(struct drm_dp_mst_topology_mgr *mgr, mgr 3856 drivers/gpu/drm/drm_dp_mst_topology.c if (++payload_count > mgr->max_payloads) { mgr 3858 drivers/gpu/drm/drm_dp_mst_topology.c mgr, mst_state, mgr->max_payloads); mgr 3863 drivers/gpu/drm/drm_dp_mst_topology.c mgr, mst_state, avail_slots, mgr 3892 drivers/gpu/drm/drm_dp_mst_topology.c struct drm_dp_mst_topology_mgr *mgr; mgr 3896 drivers/gpu/drm/drm_dp_mst_topology.c for_each_new_mst_mgr_in_state(state, mgr, mst_state, i) { mgr 3897 drivers/gpu/drm/drm_dp_mst_topology.c ret = drm_dp_mst_atomic_check_topology_state(mgr, mst_state); mgr 3928 drivers/gpu/drm/drm_dp_mst_topology.c struct drm_dp_mst_topology_mgr *mgr) mgr 3930 drivers/gpu/drm/drm_dp_mst_topology.c struct drm_device *dev = mgr->dev; mgr 3933 drivers/gpu/drm/drm_dp_mst_topology.c return to_dp_mst_topology_state(drm_atomic_get_private_obj_state(state, &mgr->base)); mgr 3948 drivers/gpu/drm/drm_dp_mst_topology.c int drm_dp_mst_topology_mgr_init(struct drm_dp_mst_topology_mgr *mgr, mgr 3955 drivers/gpu/drm/drm_dp_mst_topology.c mutex_init(&mgr->lock); mgr 3956 drivers/gpu/drm/drm_dp_mst_topology.c mutex_init(&mgr->qlock); mgr 3957 drivers/gpu/drm/drm_dp_mst_topology.c mutex_init(&mgr->payload_lock); mgr 3958 drivers/gpu/drm/drm_dp_mst_topology.c mutex_init(&mgr->destroy_connector_lock); mgr 3959 drivers/gpu/drm/drm_dp_mst_topology.c INIT_LIST_HEAD(&mgr->tx_msg_downq); mgr 3960 drivers/gpu/drm/drm_dp_mst_topology.c INIT_LIST_HEAD(&mgr->destroy_connector_list); mgr 3961 drivers/gpu/drm/drm_dp_mst_topology.c INIT_WORK(&mgr->work, drm_dp_mst_link_probe_work); mgr 3962 drivers/gpu/drm/drm_dp_mst_topology.c INIT_WORK(&mgr->tx_work, drm_dp_tx_work); mgr 3963 drivers/gpu/drm/drm_dp_mst_topology.c INIT_WORK(&mgr->destroy_connector_work, drm_dp_destroy_connector_work); mgr 3964 drivers/gpu/drm/drm_dp_mst_topology.c init_waitqueue_head(&mgr->tx_waitq); mgr 3965 drivers/gpu/drm/drm_dp_mst_topology.c mgr->dev = dev; mgr 3966 drivers/gpu/drm/drm_dp_mst_topology.c mgr->aux = aux; mgr 3967 drivers/gpu/drm/drm_dp_mst_topology.c mgr->max_dpcd_transaction_bytes = max_dpcd_transaction_bytes; mgr 3968 drivers/gpu/drm/drm_dp_mst_topology.c mgr->max_payloads = max_payloads; mgr 3969 drivers/gpu/drm/drm_dp_mst_topology.c mgr->conn_base_id = conn_base_id; mgr 3970 drivers/gpu/drm/drm_dp_mst_topology.c if (max_payloads + 1 > sizeof(mgr->payload_mask) * 8 || mgr 3971 drivers/gpu/drm/drm_dp_mst_topology.c max_payloads + 1 > sizeof(mgr->vcpi_mask) * 8) mgr 3973 drivers/gpu/drm/drm_dp_mst_topology.c mgr->payloads = kcalloc(max_payloads, sizeof(struct drm_dp_payload), GFP_KERNEL); mgr 3974 drivers/gpu/drm/drm_dp_mst_topology.c if (!mgr->payloads) mgr 3976 drivers/gpu/drm/drm_dp_mst_topology.c mgr->proposed_vcpis = kcalloc(max_payloads, sizeof(struct drm_dp_vcpi *), GFP_KERNEL); mgr 3977 drivers/gpu/drm/drm_dp_mst_topology.c if (!mgr->proposed_vcpis) mgr 3979 drivers/gpu/drm/drm_dp_mst_topology.c set_bit(0, &mgr->payload_mask); mgr 3987 drivers/gpu/drm/drm_dp_mst_topology.c mst_state->mgr = mgr; mgr 3990 drivers/gpu/drm/drm_dp_mst_topology.c drm_atomic_private_obj_init(dev, &mgr->base, mgr 4002 drivers/gpu/drm/drm_dp_mst_topology.c void drm_dp_mst_topology_mgr_destroy(struct drm_dp_mst_topology_mgr *mgr) mgr 4004 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_mst_topology_mgr_set_mst(mgr, false); mgr 4005 drivers/gpu/drm/drm_dp_mst_topology.c flush_work(&mgr->work); mgr 4006 drivers/gpu/drm/drm_dp_mst_topology.c flush_work(&mgr->destroy_connector_work); mgr 4007 drivers/gpu/drm/drm_dp_mst_topology.c mutex_lock(&mgr->payload_lock); mgr 4008 drivers/gpu/drm/drm_dp_mst_topology.c kfree(mgr->payloads); mgr 4009 drivers/gpu/drm/drm_dp_mst_topology.c mgr->payloads = NULL; mgr 4010 drivers/gpu/drm/drm_dp_mst_topology.c kfree(mgr->proposed_vcpis); mgr 4011 drivers/gpu/drm/drm_dp_mst_topology.c mgr->proposed_vcpis = NULL; mgr 4012 drivers/gpu/drm/drm_dp_mst_topology.c mutex_unlock(&mgr->payload_lock); mgr 4013 drivers/gpu/drm/drm_dp_mst_topology.c mgr->dev = NULL; mgr 4014 drivers/gpu/drm/drm_dp_mst_topology.c mgr->aux = NULL; mgr 4015 drivers/gpu/drm/drm_dp_mst_topology.c drm_atomic_private_obj_fini(&mgr->base); mgr 4016 drivers/gpu/drm/drm_dp_mst_topology.c mgr->funcs = NULL; mgr 4044 drivers/gpu/drm/drm_dp_mst_topology.c struct drm_dp_mst_topology_mgr *mgr = port->mgr; mgr 4050 drivers/gpu/drm/drm_dp_mst_topology.c mstb = drm_dp_mst_topology_get_mstb_validated(mgr, port->parent); mgr 4082 drivers/gpu/drm/drm_dp_mst_topology.c drm_dp_queue_down_tx(mgr, txmsg); mgr 85 drivers/gpu/drm/drm_vma_manager.c void drm_vma_offset_manager_init(struct drm_vma_offset_manager *mgr, mgr 88 drivers/gpu/drm/drm_vma_manager.c rwlock_init(&mgr->vm_lock); mgr 89 drivers/gpu/drm/drm_vma_manager.c drm_mm_init(&mgr->vm_addr_space_mm, page_offset, size); mgr 104 drivers/gpu/drm/drm_vma_manager.c void drm_vma_offset_manager_destroy(struct drm_vma_offset_manager *mgr) mgr 106 drivers/gpu/drm/drm_vma_manager.c drm_mm_takedown(&mgr->vm_addr_space_mm); mgr 140 drivers/gpu/drm/drm_vma_manager.c struct drm_vma_offset_node *drm_vma_offset_lookup_locked(struct drm_vma_offset_manager *mgr, mgr 148 drivers/gpu/drm/drm_vma_manager.c iter = mgr->vm_addr_space_mm.interval_tree.rb_root.rb_node; mgr 201 drivers/gpu/drm/drm_vma_manager.c int drm_vma_offset_add(struct drm_vma_offset_manager *mgr, mgr 206 drivers/gpu/drm/drm_vma_manager.c write_lock(&mgr->vm_lock); mgr 209 drivers/gpu/drm/drm_vma_manager.c ret = drm_mm_insert_node(&mgr->vm_addr_space_mm, mgr 212 drivers/gpu/drm/drm_vma_manager.c write_unlock(&mgr->vm_lock); mgr 229 drivers/gpu/drm/drm_vma_manager.c void drm_vma_offset_remove(struct drm_vma_offset_manager *mgr, mgr 232 drivers/gpu/drm/drm_vma_manager.c write_lock(&mgr->vm_lock); mgr 239 drivers/gpu/drm/drm_vma_manager.c write_unlock(&mgr->vm_lock); mgr 172 drivers/gpu/drm/i915/display/intel_dp_mst.c struct drm_dp_mst_topology_mgr *mgr; mgr 194 drivers/gpu/drm/i915/display/intel_dp_mst.c mgr = &enc_to_mst(old_conn_state->best_encoder)->primary->dp.mst_mgr; mgr 195 drivers/gpu/drm/i915/display/intel_dp_mst.c ret = drm_dp_atomic_release_vcpi_slots(state, mgr, mgr 499 drivers/gpu/drm/i915/display/intel_dp_mst.c static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port, const char *pathprop) mgr 501 drivers/gpu/drm/i915/display/intel_dp_mst.c struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst_mgr); mgr 575 drivers/gpu/drm/i915/display/intel_dp_mst.c static void intel_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr, mgr 9 drivers/gpu/drm/lima/lima_ctx.c int lima_ctx_create(struct lima_device *dev, struct lima_ctx_mgr *mgr, u32 *id) mgr 26 drivers/gpu/drm/lima/lima_ctx.c err = xa_alloc(&mgr->handles, id, ctx, xa_limit_32b, GFP_KERNEL); mgr 49 drivers/gpu/drm/lima/lima_ctx.c int lima_ctx_free(struct lima_ctx_mgr *mgr, u32 id) mgr 54 drivers/gpu/drm/lima/lima_ctx.c mutex_lock(&mgr->lock); mgr 55 drivers/gpu/drm/lima/lima_ctx.c ctx = xa_erase(&mgr->handles, id); mgr 60 drivers/gpu/drm/lima/lima_ctx.c mutex_unlock(&mgr->lock); mgr 64 drivers/gpu/drm/lima/lima_ctx.c struct lima_ctx *lima_ctx_get(struct lima_ctx_mgr *mgr, u32 id) mgr 68 drivers/gpu/drm/lima/lima_ctx.c mutex_lock(&mgr->lock); mgr 69 drivers/gpu/drm/lima/lima_ctx.c ctx = xa_load(&mgr->handles, id); mgr 72 drivers/gpu/drm/lima/lima_ctx.c mutex_unlock(&mgr->lock); mgr 81 drivers/gpu/drm/lima/lima_ctx.c void lima_ctx_mgr_init(struct lima_ctx_mgr *mgr) mgr 83 drivers/gpu/drm/lima/lima_ctx.c mutex_init(&mgr->lock); mgr 84 drivers/gpu/drm/lima/lima_ctx.c xa_init_flags(&mgr->handles, XA_FLAGS_ALLOC); mgr 87 drivers/gpu/drm/lima/lima_ctx.c void lima_ctx_mgr_fini(struct lima_ctx_mgr *mgr) mgr 92 drivers/gpu/drm/lima/lima_ctx.c xa_for_each(&mgr->handles, id, ctx) { mgr 96 drivers/gpu/drm/lima/lima_ctx.c xa_destroy(&mgr->handles); mgr 97 drivers/gpu/drm/lima/lima_ctx.c mutex_destroy(&mgr->lock); mgr 23 drivers/gpu/drm/lima/lima_ctx.h int lima_ctx_create(struct lima_device *dev, struct lima_ctx_mgr *mgr, u32 *id); mgr 24 drivers/gpu/drm/lima/lima_ctx.h int lima_ctx_free(struct lima_ctx_mgr *mgr, u32 id); mgr 25 drivers/gpu/drm/lima/lima_ctx.h struct lima_ctx *lima_ctx_get(struct lima_ctx_mgr *mgr, u32 id); mgr 27 drivers/gpu/drm/lima/lima_ctx.h void lima_ctx_mgr_init(struct lima_ctx_mgr *mgr); mgr 28 drivers/gpu/drm/lima/lima_ctx.h void lima_ctx_mgr_fini(struct lima_ctx_mgr *mgr); mgr 655 drivers/gpu/drm/nouveau/dispnv50/disp.c #define nv50_mstm(p) container_of((p), struct nv50_mstm, mgr) mgr 662 drivers/gpu/drm/nouveau/dispnv50/disp.c struct drm_dp_mst_topology_mgr mgr; mgr 695 drivers/gpu/drm/nouveau/dispnv50/disp.c WARN_ON(!mutex_is_locked(&mstm->mgr.payload_lock)); mgr 698 drivers/gpu/drm/nouveau/dispnv50/disp.c for (i = 0; i < mstm->mgr.max_payloads; i++) { mgr 699 drivers/gpu/drm/nouveau/dispnv50/disp.c struct drm_dp_payload *payload = &mstm->mgr.payloads[i]; mgr 705 drivers/gpu/drm/nouveau/dispnv50/disp.c for (i = 0; i < mstm->mgr.max_payloads; i++) { mgr 706 drivers/gpu/drm/nouveau/dispnv50/disp.c struct drm_dp_payload *payload = &mstm->mgr.payloads[i]; mgr 726 drivers/gpu/drm/nouveau/dispnv50/disp.c drm_dp_mst_deallocate_vcpi(&mstm->mgr, mstc->port); mgr 750 drivers/gpu/drm/nouveau/dispnv50/disp.c mutex_lock(&mstm->mgr.payload_lock); mgr 769 drivers/gpu/drm/nouveau/dispnv50/disp.c mutex_unlock(&mstm->mgr.payload_lock); mgr 812 drivers/gpu/drm/nouveau/dispnv50/disp.c slots = drm_dp_atomic_find_vcpi_slots(state, &mstm->mgr, mstc->port, mgr 859 drivers/gpu/drm/nouveau/dispnv50/disp.c r = drm_dp_mst_allocate_vcpi(&mstm->mgr, mstc->port, armh->dp.pbn, mgr 887 drivers/gpu/drm/nouveau/dispnv50/disp.c drm_dp_mst_reset_vcpi_slots(&mstm->mgr, mstc->port); mgr 970 drivers/gpu/drm/nouveau/dispnv50/disp.c mstc->edid = drm_dp_mst_get_edid(&mstc->connector, mstc->port->mgr, mstc->port); mgr 989 drivers/gpu/drm/nouveau/dispnv50/disp.c struct drm_dp_mst_topology_mgr *mgr = &mstc->mstm->mgr; mgr 1012 drivers/gpu/drm/nouveau/dispnv50/disp.c return drm_dp_atomic_release_vcpi_slots(state, mgr, mstc->port); mgr 1038 drivers/gpu/drm/nouveau/dispnv50/disp.c conn_status = drm_dp_mst_detect_port(connector, mstc->port->mgr, mgr 1113 drivers/gpu/drm/nouveau/dispnv50/disp.c ret = drm_dp_check_act_status(&mstm->mgr); mgr 1115 drivers/gpu/drm/nouveau/dispnv50/disp.c ret = drm_dp_update_payload_part2(&mstm->mgr); mgr 1137 drivers/gpu/drm/nouveau/dispnv50/disp.c ret = drm_dp_update_payload_part1(&mstm->mgr); mgr 1156 drivers/gpu/drm/nouveau/dispnv50/disp.c nv50_mstm_destroy_connector(struct drm_dp_mst_topology_mgr *mgr, mgr 1180 drivers/gpu/drm/nouveau/dispnv50/disp.c nv50_mstm_add_connector(struct drm_dp_mst_topology_mgr *mgr, mgr 1183 drivers/gpu/drm/nouveau/dispnv50/disp.c struct nv50_mstm *mstm = nv50_mstm(mgr); mgr 1204 drivers/gpu/drm/nouveau/dispnv50/disp.c struct drm_dp_aux *aux = mstm ? mstm->mgr.aux : NULL; mgr 1215 drivers/gpu/drm/nouveau/dispnv50/disp.c drm_dp_mst_topology_mgr_set_mst(&mstm->mgr, false); mgr 1219 drivers/gpu/drm/nouveau/dispnv50/disp.c drm_dp_mst_hpd_irq(&mstm->mgr, esi, &handled); mgr 1231 drivers/gpu/drm/nouveau/dispnv50/disp.c drm_dp_mst_topology_mgr_set_mst(&mstm->mgr, false); mgr 1257 drivers/gpu/drm/nouveau/dispnv50/disp.c ret = drm_dp_dpcd_writeb(mstm->mgr.aux, DP_MSTM_CTRL, 0); mgr 1263 drivers/gpu/drm/nouveau/dispnv50/disp.c ret = drm_dp_dpcd_writeb(mstm->mgr.aux, DP_MSTM_CTRL, mgr 1284 drivers/gpu/drm/nouveau/dispnv50/disp.c mutex_lock(&mstm->mgr.lock); mgr 1286 drivers/gpu/drm/nouveau/dispnv50/disp.c old_state = mstm->mgr.mst_state; mgr 1288 drivers/gpu/drm/nouveau/dispnv50/disp.c aux = mstm->mgr.aux; mgr 1309 drivers/gpu/drm/nouveau/dispnv50/disp.c mutex_unlock(&mstm->mgr.lock); mgr 1317 drivers/gpu/drm/nouveau/dispnv50/disp.c mutex_unlock(&mstm->mgr.lock); mgr 1319 drivers/gpu/drm/nouveau/dispnv50/disp.c ret = drm_dp_mst_topology_mgr_set_mst(&mstm->mgr, new_state); mgr 1326 drivers/gpu/drm/nouveau/dispnv50/disp.c mutex_unlock(&mstm->mgr.lock); mgr 1333 drivers/gpu/drm/nouveau/dispnv50/disp.c if (mstm && mstm->mgr.mst_state) mgr 1334 drivers/gpu/drm/nouveau/dispnv50/disp.c drm_dp_mst_topology_mgr_suspend(&mstm->mgr); mgr 1342 drivers/gpu/drm/nouveau/dispnv50/disp.c if (!mstm || !mstm->mgr.mst_state) mgr 1345 drivers/gpu/drm/nouveau/dispnv50/disp.c ret = drm_dp_mst_topology_mgr_resume(&mstm->mgr); mgr 1347 drivers/gpu/drm/nouveau/dispnv50/disp.c drm_dp_mst_topology_mgr_set_mst(&mstm->mgr, false); mgr 1348 drivers/gpu/drm/nouveau/dispnv50/disp.c drm_kms_helper_hotplug_event(mstm->mgr.dev); mgr 1357 drivers/gpu/drm/nouveau/dispnv50/disp.c drm_dp_mst_topology_mgr_destroy(&mstm->mgr); mgr 1386 drivers/gpu/drm/nouveau/dispnv50/disp.c mstm->mgr.cbs = &nv50_mstm; mgr 1388 drivers/gpu/drm/nouveau/dispnv50/disp.c ret = drm_dp_mst_topology_mgr_init(&mstm->mgr, dev, aux, aux_max, mgr 270 drivers/gpu/drm/radeon/radeon_dp_mst.c static struct drm_connector *radeon_dp_add_mst_connector(struct drm_dp_mst_topology_mgr *mgr, mgr 274 drivers/gpu/drm/radeon/radeon_dp_mst.c struct radeon_connector *master = container_of(mgr, struct radeon_connector, mst_mgr); mgr 310 drivers/gpu/drm/radeon/radeon_dp_mst.c static void radeon_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr, mgr 313 drivers/gpu/drm/radeon/radeon_dp_mst.c struct radeon_connector *master = container_of(mgr, struct radeon_connector, mst_mgr); mgr 35 drivers/isdn/mISDN/layer2.h struct manager *mgr; mgr 72 drivers/isdn/mISDN/tei.c struct manager *mgr = fi->userdata; mgr 84 drivers/isdn/mISDN/tei.c printk(KERN_DEBUG "mgr(%d): %pV\n", mgr->ch.st->dev->id, &vaf); mgr 92 drivers/isdn/mISDN/tei.c struct manager *mgr = fi->userdata; mgr 95 drivers/isdn/mISDN/tei.c mISDN_FsmDelTimer(&mgr->datimer, 1); mgr 108 drivers/isdn/mISDN/tei.c struct manager *mgr = fi->userdata; mgr 112 drivers/isdn/mISDN/tei.c read_lock_irqsave(&mgr->lock, flags); mgr 113 drivers/isdn/mISDN/tei.c list_for_each_entry(l2, &mgr->layer2, list) { mgr 116 drivers/isdn/mISDN/tei.c read_unlock_irqrestore(&mgr->lock, flags); mgr 120 drivers/isdn/mISDN/tei.c read_unlock_irqrestore(&mgr->lock, flags); mgr 122 drivers/isdn/mISDN/tei.c if (!test_bit(OPTION_L1_HOLD, &mgr->options)) { mgr 123 drivers/isdn/mISDN/tei.c mISDN_FsmAddTimer(&mgr->datimer, DATIMER_VAL, EV_DATIMER, mgr 132 drivers/isdn/mISDN/tei.c struct manager *mgr = fi->userdata; mgr 135 drivers/isdn/mISDN/tei.c if (!test_bit(OPTION_L1_HOLD, &mgr->options)) { mgr 136 drivers/isdn/mISDN/tei.c mISDN_FsmDelTimer(&mgr->datimer, 2); mgr 137 drivers/isdn/mISDN/tei.c mISDN_FsmAddTimer(&mgr->datimer, DATIMER_VAL, EV_DATIMER, mgr 145 drivers/isdn/mISDN/tei.c struct manager *mgr = fi->userdata; mgr 150 drivers/isdn/mISDN/tei.c read_lock_irqsave(&mgr->lock, flags); mgr 151 drivers/isdn/mISDN/tei.c list_for_each_entry(l2, &mgr->layer2, list) { mgr 154 drivers/isdn/mISDN/tei.c read_unlock_irqrestore(&mgr->lock, flags); mgr 159 drivers/isdn/mISDN/tei.c read_unlock_irqrestore(&mgr->lock, flags); mgr 162 drivers/isdn/mISDN/tei.c _queue_data(&mgr->ch, PH_DEACTIVATE_REQ, MISDN_ID_ANY, 0, NULL, mgr 242 drivers/isdn/mISDN/tei.c get_free_id(struct manager *mgr) mgr 248 drivers/isdn/mISDN/tei.c list_for_each_entry(l2, &mgr->layer2, list) { mgr 266 drivers/isdn/mISDN/tei.c get_free_tei(struct manager *mgr) mgr 272 drivers/isdn/mISDN/tei.c list_for_each_entry(l2, &mgr->layer2, list) { mgr 293 drivers/isdn/mISDN/tei.c teiup_create(struct manager *mgr, u_int prim, int len, void *arg) mgr 304 drivers/isdn/mISDN/tei.c hh->id = (mgr->ch.nr << 16) | mgr->ch.addr; mgr 307 drivers/isdn/mISDN/tei.c err = mgr->up->send(mgr->up, skb); mgr 315 drivers/isdn/mISDN/tei.c new_id(struct manager *mgr) mgr 319 drivers/isdn/mISDN/tei.c id = mgr->nextid++; mgr 321 drivers/isdn/mISDN/tei.c mgr->nextid = 1; mgr 329 drivers/isdn/mISDN/tei.c do_send(struct manager *mgr) mgr 331 drivers/isdn/mISDN/tei.c if (!test_bit(MGR_PH_ACTIVE, &mgr->options)) mgr 334 drivers/isdn/mISDN/tei.c if (!test_and_set_bit(MGR_PH_NOTREADY, &mgr->options)) { mgr 335 drivers/isdn/mISDN/tei.c struct sk_buff *skb = skb_dequeue(&mgr->sendq); mgr 338 drivers/isdn/mISDN/tei.c test_and_clear_bit(MGR_PH_NOTREADY, &mgr->options); mgr 341 drivers/isdn/mISDN/tei.c mgr->lastid = mISDN_HEAD_ID(skb); mgr 342 drivers/isdn/mISDN/tei.c mISDN_FsmEvent(&mgr->deact, EV_UI, NULL); mgr 343 drivers/isdn/mISDN/tei.c if (mgr->ch.recv(mgr->ch.peer, skb)) { mgr 345 drivers/isdn/mISDN/tei.c test_and_clear_bit(MGR_PH_NOTREADY, &mgr->options); mgr 346 drivers/isdn/mISDN/tei.c mgr->lastid = MISDN_ID_NONE; mgr 352 drivers/isdn/mISDN/tei.c do_ack(struct manager *mgr, u_int id) mgr 354 drivers/isdn/mISDN/tei.c if (test_bit(MGR_PH_NOTREADY, &mgr->options)) { mgr 355 drivers/isdn/mISDN/tei.c if (id == mgr->lastid) { mgr 356 drivers/isdn/mISDN/tei.c if (test_bit(MGR_PH_ACTIVE, &mgr->options)) { mgr 359 drivers/isdn/mISDN/tei.c skb = skb_dequeue(&mgr->sendq); mgr 361 drivers/isdn/mISDN/tei.c mgr->lastid = mISDN_HEAD_ID(skb); mgr 362 drivers/isdn/mISDN/tei.c if (!mgr->ch.recv(mgr->ch.peer, skb)) mgr 367 drivers/isdn/mISDN/tei.c mgr->lastid = MISDN_ID_NONE; mgr 368 drivers/isdn/mISDN/tei.c test_and_clear_bit(MGR_PH_NOTREADY, &mgr->options); mgr 374 drivers/isdn/mISDN/tei.c mgr_send_down(struct manager *mgr, struct sk_buff *skb) mgr 376 drivers/isdn/mISDN/tei.c skb_queue_tail(&mgr->sendq, skb); mgr 377 drivers/isdn/mISDN/tei.c if (!test_bit(MGR_PH_ACTIVE, &mgr->options)) { mgr 378 drivers/isdn/mISDN/tei.c _queue_data(&mgr->ch, PH_ACTIVATE_REQ, MISDN_ID_ANY, 0, mgr 381 drivers/isdn/mISDN/tei.c do_send(mgr); mgr 386 drivers/isdn/mISDN/tei.c dl_unit_data(struct manager *mgr, struct sk_buff *skb) mgr 388 drivers/isdn/mISDN/tei.c if (!test_bit(MGR_OPT_NETWORK, &mgr->options)) /* only net send UI */ mgr 390 drivers/isdn/mISDN/tei.c if (!test_bit(MGR_PH_ACTIVE, &mgr->options)) mgr 391 drivers/isdn/mISDN/tei.c _queue_data(&mgr->ch, PH_ACTIVATE_REQ, MISDN_ID_ANY, 0, mgr 398 drivers/isdn/mISDN/tei.c mISDN_HEAD_ID(skb) = new_id(mgr); mgr 399 drivers/isdn/mISDN/tei.c skb_queue_tail(&mgr->sendq, skb); mgr 400 drivers/isdn/mISDN/tei.c do_send(mgr); mgr 414 drivers/isdn/mISDN/tei.c findtei(struct manager *mgr, int tei) mgr 419 drivers/isdn/mISDN/tei.c read_lock_irqsave(&mgr->lock, flags); mgr 420 drivers/isdn/mISDN/tei.c list_for_each_entry(l2, &mgr->layer2, list) { mgr 427 drivers/isdn/mISDN/tei.c read_unlock_irqrestore(&mgr->lock, flags); mgr 432 drivers/isdn/mISDN/tei.c put_tei_msg(struct manager *mgr, u_char m_id, unsigned int ri, int tei) mgr 438 drivers/isdn/mISDN/tei.c if (test_bit(MGR_OPT_NETWORK, &mgr->options)) mgr 447 drivers/isdn/mISDN/tei.c skb = _alloc_mISDN_skb(PH_DATA_REQ, new_id(mgr), 8, bp, GFP_ATOMIC); mgr 452 drivers/isdn/mISDN/tei.c mgr_send_down(mgr, skb); mgr 470 drivers/isdn/mISDN/tei.c put_tei_msg(tm->mgr, ID_REQUEST, tm->ri, GROUP_TEI); mgr 491 drivers/isdn/mISDN/tei.c l2 = findtei(tm->mgr, tei); mgr 520 drivers/isdn/mISDN/tei.c l2 = findtei(tm->mgr, tei); mgr 560 drivers/isdn/mISDN/tei.c put_tei_msg(tm->mgr, ID_CHK_RES, random_ri(), tm->l2->tei); mgr 590 drivers/isdn/mISDN/tei.c put_tei_msg(tm->mgr, ID_VERIFY, 0, tm->l2->tei); mgr 606 drivers/isdn/mISDN/tei.c put_tei_msg(tm->mgr, ID_REQUEST, tm->ri, GROUP_TEI); mgr 625 drivers/isdn/mISDN/tei.c put_tei_msg(tm->mgr, ID_VERIFY, 0, tm->l2->tei); mgr 653 drivers/isdn/mISDN/tei.c put_tei_msg(l2->tm->mgr, ID_REMOVE, 0, l2->tei); mgr 675 drivers/isdn/mISDN/tei.c put_tei_msg(tm->mgr, ID_ASSIGNED, tm->ri, tm->l2->tei); mgr 688 drivers/isdn/mISDN/tei.c put_tei_msg(tm->mgr, ID_CHK_REQ, 0, tm->l2->tei); mgr 741 drivers/isdn/mISDN/tei.c put_tei_msg(tm->mgr, ID_CHK_REQ, 0, tm->l2->tei); mgr 782 drivers/isdn/mISDN/tei.c create_new_tei(struct manager *mgr, int tei, int sapi) mgr 790 drivers/isdn/mISDN/tei.c if (!mgr->up) mgr 794 drivers/isdn/mISDN/tei.c if (mgr->ch.st->dev->Dprotocols & ((1 << ISDN_P_TE_E1) | mgr 801 drivers/isdn/mISDN/tei.c l2 = create_l2(mgr->up, ISDN_P_LAPD_NT, opt, tei, sapi); mgr 812 drivers/isdn/mISDN/tei.c l2->tm->mgr = mgr; mgr 821 drivers/isdn/mISDN/tei.c write_lock_irqsave(&mgr->lock, flags); mgr 822 drivers/isdn/mISDN/tei.c id = get_free_id(mgr); mgr 823 drivers/isdn/mISDN/tei.c list_add_tail(&l2->list, &mgr->layer2); mgr 824 drivers/isdn/mISDN/tei.c write_unlock_irqrestore(&mgr->lock, flags); mgr 831 drivers/isdn/mISDN/tei.c __add_layer2(&l2->ch, mgr->ch.st); mgr 832 drivers/isdn/mISDN/tei.c l2->ch.recv = mgr->ch.recv; mgr 833 drivers/isdn/mISDN/tei.c l2->ch.peer = mgr->ch.peer; mgr 836 drivers/isdn/mISDN/tei.c rq.adr.dev = mgr->ch.st->dev->id; mgr 837 drivers/isdn/mISDN/tei.c id = mgr->ch.st->own.ctrl(&mgr->ch.st->own, OPEN_CHANNEL, &rq); mgr 848 drivers/isdn/mISDN/tei.c new_tei_req(struct manager *mgr, u_char *dp) mgr 855 drivers/isdn/mISDN/tei.c if (!mgr->up) mgr 862 drivers/isdn/mISDN/tei.c tei = get_free_tei(mgr); mgr 867 drivers/isdn/mISDN/tei.c l2 = create_new_tei(mgr, tei, CTRL_SAPI); mgr 874 drivers/isdn/mISDN/tei.c put_tei_msg(mgr, ID_DENIED, ri, GROUP_TEI); mgr 878 drivers/isdn/mISDN/tei.c ph_data_ind(struct manager *mgr, struct sk_buff *skb) mgr 908 drivers/isdn/mISDN/tei.c if (!test_bit(MGR_OPT_NETWORK, &mgr->options)) mgr 915 drivers/isdn/mISDN/tei.c if (test_bit(MGR_OPT_NETWORK, &mgr->options)) mgr 923 drivers/isdn/mISDN/tei.c new_tei_req(mgr, &skb->data[4]); mgr 926 drivers/isdn/mISDN/tei.c list_for_each_entry_safe(l2, nl2, &mgr->layer2, list) { mgr 947 drivers/isdn/mISDN/tei.c if (test_bit(MGR_OPT_NETWORK, &tm->mgr->options)) mgr 949 drivers/isdn/mISDN/tei.c if (test_bit(MGR_OPT_USER, &tm->mgr->options)) mgr 953 drivers/isdn/mISDN/tei.c if (test_bit(MGR_OPT_NETWORK, &tm->mgr->options)) mgr 954 drivers/isdn/mISDN/tei.c mISDN_FsmEvent(&tm->mgr->deact, EV_ACTIVATE, NULL); mgr 957 drivers/isdn/mISDN/tei.c if (test_bit(MGR_OPT_NETWORK, &tm->mgr->options)) mgr 958 drivers/isdn/mISDN/tei.c mISDN_FsmEvent(&tm->mgr->deact, EV_DEACTIVATE, NULL); mgr 961 drivers/isdn/mISDN/tei.c if (test_bit(MGR_OPT_NETWORK, &tm->mgr->options)) mgr 962 drivers/isdn/mISDN/tei.c mISDN_FsmEvent(&tm->mgr->deact, EV_UI, NULL); mgr 975 drivers/isdn/mISDN/tei.c write_lock_irqsave(&tm->mgr->lock, flags); mgr 977 drivers/isdn/mISDN/tei.c write_unlock_irqrestore(&tm->mgr->lock, flags); mgr 983 drivers/isdn/mISDN/tei.c create_teimgr(struct manager *mgr, struct channel_req *crq) mgr 993 drivers/isdn/mISDN/tei.c __func__, dev_name(&mgr->ch.st->dev->dev), mgr 1002 drivers/isdn/mISDN/tei.c if (test_bit(MGR_OPT_NETWORK, &mgr->options)) { mgr 1007 drivers/isdn/mISDN/tei.c if (mgr->up) { mgr 1013 drivers/isdn/mISDN/tei.c } else if (test_bit(MGR_OPT_USER, &mgr->options)) { mgr 1020 drivers/isdn/mISDN/tei.c test_and_set_bit(MGR_OPT_NETWORK, &mgr->options); mgr 1022 drivers/isdn/mISDN/tei.c test_and_set_bit(MGR_OPT_USER, &mgr->options); mgr 1025 drivers/isdn/mISDN/tei.c if (mgr->ch.st->dev->Dprotocols mgr 1029 drivers/isdn/mISDN/tei.c mgr->up = crq->ch; mgr 1031 drivers/isdn/mISDN/tei.c teiup_create(mgr, DL_INFORMATION_IND, sizeof(id), &id); mgr 1032 drivers/isdn/mISDN/tei.c if (test_bit(MGR_PH_ACTIVE, &mgr->options)) mgr 1033 drivers/isdn/mISDN/tei.c teiup_create(mgr, PH_ACTIVATE_IND, 0, NULL); mgr 1035 drivers/isdn/mISDN/tei.c if (!list_empty(&mgr->layer2)) { mgr 1036 drivers/isdn/mISDN/tei.c read_lock_irqsave(&mgr->lock, flags); mgr 1037 drivers/isdn/mISDN/tei.c list_for_each_entry(l2, &mgr->layer2, list) { mgr 1038 drivers/isdn/mISDN/tei.c l2->up = mgr->up; mgr 1041 drivers/isdn/mISDN/tei.c read_unlock_irqrestore(&mgr->lock, flags); mgr 1055 drivers/isdn/mISDN/tei.c l2->tm->mgr = mgr; mgr 1078 drivers/isdn/mISDN/tei.c write_lock_irqsave(&mgr->lock, flags); mgr 1079 drivers/isdn/mISDN/tei.c id = get_free_id(mgr); mgr 1080 drivers/isdn/mISDN/tei.c list_add_tail(&l2->list, &mgr->layer2); mgr 1081 drivers/isdn/mISDN/tei.c write_unlock_irqrestore(&mgr->lock, flags); mgr 1087 drivers/isdn/mISDN/tei.c id = mgr->ch.st->own.ctrl(&mgr->ch.st->own, OPEN_CHANNEL, mgr 1098 drivers/isdn/mISDN/tei.c struct manager *mgr; mgr 1102 drivers/isdn/mISDN/tei.c mgr = container_of(ch, struct manager, ch); mgr 1108 drivers/isdn/mISDN/tei.c mISDN_FsmEvent(&mgr->deact, EV_UI, NULL); mgr 1109 drivers/isdn/mISDN/tei.c ret = ph_data_ind(mgr, skb); mgr 1112 drivers/isdn/mISDN/tei.c do_ack(mgr, hh->id); mgr 1116 drivers/isdn/mISDN/tei.c test_and_set_bit(MGR_PH_ACTIVE, &mgr->options); mgr 1117 drivers/isdn/mISDN/tei.c if (mgr->up) mgr 1118 drivers/isdn/mISDN/tei.c teiup_create(mgr, PH_ACTIVATE_IND, 0, NULL); mgr 1119 drivers/isdn/mISDN/tei.c mISDN_FsmEvent(&mgr->deact, EV_ACTIVATE_IND, NULL); mgr 1120 drivers/isdn/mISDN/tei.c do_send(mgr); mgr 1124 drivers/isdn/mISDN/tei.c test_and_clear_bit(MGR_PH_ACTIVE, &mgr->options); mgr 1125 drivers/isdn/mISDN/tei.c if (mgr->up) mgr 1126 drivers/isdn/mISDN/tei.c teiup_create(mgr, PH_DEACTIVATE_IND, 0, NULL); mgr 1127 drivers/isdn/mISDN/tei.c mISDN_FsmEvent(&mgr->deact, EV_DEACTIVATE_IND, NULL); mgr 1131 drivers/isdn/mISDN/tei.c return dl_unit_data(mgr, skb); mgr 1139 drivers/isdn/mISDN/tei.c free_teimanager(struct manager *mgr) mgr 1143 drivers/isdn/mISDN/tei.c test_and_clear_bit(OPTION_L1_HOLD, &mgr->options); mgr 1144 drivers/isdn/mISDN/tei.c if (test_bit(MGR_OPT_NETWORK, &mgr->options)) { mgr 1146 drivers/isdn/mISDN/tei.c mgr->up = NULL; mgr 1147 drivers/isdn/mISDN/tei.c if (test_bit(OPTION_L2_CLEANUP, &mgr->options)) { mgr 1148 drivers/isdn/mISDN/tei.c list_for_each_entry_safe(l2, nl2, &mgr->layer2, list) { mgr 1149 drivers/isdn/mISDN/tei.c put_tei_msg(mgr, ID_REMOVE, 0, l2->tei); mgr 1150 drivers/isdn/mISDN/tei.c mutex_lock(&mgr->ch.st->lmutex); mgr 1152 drivers/isdn/mISDN/tei.c mutex_unlock(&mgr->ch.st->lmutex); mgr 1155 drivers/isdn/mISDN/tei.c test_and_clear_bit(MGR_OPT_NETWORK, &mgr->options); mgr 1157 drivers/isdn/mISDN/tei.c list_for_each_entry_safe(l2, nl2, &mgr->layer2, list) { mgr 1162 drivers/isdn/mISDN/tei.c if (test_bit(MGR_OPT_USER, &mgr->options)) { mgr 1163 drivers/isdn/mISDN/tei.c if (list_empty(&mgr->layer2)) mgr 1164 drivers/isdn/mISDN/tei.c test_and_clear_bit(MGR_OPT_USER, &mgr->options); mgr 1166 drivers/isdn/mISDN/tei.c mgr->ch.st->dev->D.ctrl(&mgr->ch.st->dev->D, CLOSE_CHANNEL, NULL); mgr 1171 drivers/isdn/mISDN/tei.c ctrl_teimanager(struct manager *mgr, void *arg) mgr 1179 drivers/isdn/mISDN/tei.c test_and_set_bit(OPTION_L2_CLEANUP, &mgr->options); mgr 1181 drivers/isdn/mISDN/tei.c test_and_clear_bit(OPTION_L2_CLEANUP, &mgr->options); mgr 1185 drivers/isdn/mISDN/tei.c test_and_set_bit(OPTION_L1_HOLD, &mgr->options); mgr 1187 drivers/isdn/mISDN/tei.c test_and_clear_bit(OPTION_L1_HOLD, &mgr->options); mgr 1197 drivers/isdn/mISDN/tei.c check_data(struct manager *mgr, struct sk_buff *skb) mgr 1206 drivers/isdn/mISDN/tei.c if (test_bit(MGR_OPT_USER, &mgr->options)) mgr 1226 drivers/isdn/mISDN/tei.c l2 = create_new_tei(mgr, tei, sapi); mgr 1240 drivers/isdn/mISDN/tei.c struct manager *mgr; mgr 1243 drivers/isdn/mISDN/tei.c mgr = container_of(ch, struct manager, ch); mgr 1245 drivers/isdn/mISDN/tei.c list_for_each_entry_safe(l2, nl2, &mgr->layer2, list) { mgr 1246 drivers/isdn/mISDN/tei.c mutex_lock(&mgr->ch.st->lmutex); mgr 1248 drivers/isdn/mISDN/tei.c mutex_unlock(&mgr->ch.st->lmutex); mgr 1251 drivers/isdn/mISDN/tei.c list_del(&mgr->ch.list); mgr 1252 drivers/isdn/mISDN/tei.c list_del(&mgr->bcast.list); mgr 1253 drivers/isdn/mISDN/tei.c skb_queue_purge(&mgr->sendq); mgr 1254 drivers/isdn/mISDN/tei.c kfree(mgr); mgr 1260 drivers/isdn/mISDN/tei.c struct manager *mgr; mgr 1263 drivers/isdn/mISDN/tei.c mgr = container_of(ch, struct manager, ch); mgr 1268 drivers/isdn/mISDN/tei.c ret = create_teimgr(mgr, arg); mgr 1271 drivers/isdn/mISDN/tei.c ret = free_teimanager(mgr); mgr 1274 drivers/isdn/mISDN/tei.c ret = ctrl_teimanager(mgr, arg); mgr 1277 drivers/isdn/mISDN/tei.c ret = check_data(mgr, arg); mgr 1286 drivers/isdn/mISDN/tei.c struct manager *mgr = container_of(ch, struct manager, bcast); mgr 1293 drivers/isdn/mISDN/tei.c read_lock_irqsave(&mgr->lock, flags); mgr 1294 drivers/isdn/mISDN/tei.c list_for_each_entry(l2, &mgr->layer2, list) { mgr 1297 drivers/isdn/mISDN/tei.c if (list_is_last(&l2->list, &mgr->layer2)) { mgr 1330 drivers/isdn/mISDN/tei.c read_unlock_irqrestore(&mgr->lock, flags); mgr 1346 drivers/isdn/mISDN/tei.c struct manager *mgr; mgr 1348 drivers/isdn/mISDN/tei.c mgr = kzalloc(sizeof(struct manager), GFP_KERNEL); mgr 1349 drivers/isdn/mISDN/tei.c if (!mgr) mgr 1351 drivers/isdn/mISDN/tei.c INIT_LIST_HEAD(&mgr->layer2); mgr 1352 drivers/isdn/mISDN/tei.c rwlock_init(&mgr->lock); mgr 1353 drivers/isdn/mISDN/tei.c skb_queue_head_init(&mgr->sendq); mgr 1354 drivers/isdn/mISDN/tei.c mgr->nextid = 1; mgr 1355 drivers/isdn/mISDN/tei.c mgr->lastid = MISDN_ID_NONE; mgr 1356 drivers/isdn/mISDN/tei.c mgr->ch.send = mgr_send; mgr 1357 drivers/isdn/mISDN/tei.c mgr->ch.ctrl = mgr_ctrl; mgr 1358 drivers/isdn/mISDN/tei.c mgr->ch.st = dev->D.st; mgr 1359 drivers/isdn/mISDN/tei.c set_channel_address(&mgr->ch, TEI_SAPI, GROUP_TEI); mgr 1360 drivers/isdn/mISDN/tei.c add_layer2(&mgr->ch, dev->D.st); mgr 1361 drivers/isdn/mISDN/tei.c mgr->bcast.send = mgr_bcast; mgr 1362 drivers/isdn/mISDN/tei.c mgr->bcast.ctrl = mgr_bcast_ctrl; mgr 1363 drivers/isdn/mISDN/tei.c mgr->bcast.st = dev->D.st; mgr 1364 drivers/isdn/mISDN/tei.c set_channel_address(&mgr->bcast, 0, GROUP_TEI); mgr 1365 drivers/isdn/mISDN/tei.c add_layer2(&mgr->bcast, dev->D.st); mgr 1366 drivers/isdn/mISDN/tei.c mgr->deact.debug = *debug & DEBUG_MANAGER; mgr 1367 drivers/isdn/mISDN/tei.c mgr->deact.userdata = mgr; mgr 1368 drivers/isdn/mISDN/tei.c mgr->deact.printdebug = da_debug; mgr 1369 drivers/isdn/mISDN/tei.c mgr->deact.fsm = &deactfsm; mgr 1370 drivers/isdn/mISDN/tei.c mgr->deact.state = ST_L1_DEACT; mgr 1371 drivers/isdn/mISDN/tei.c mISDN_FsmInitTimer(&mgr->deact, &mgr->datimer); mgr 1372 drivers/isdn/mISDN/tei.c dev->teimgr = &mgr->ch; mgr 89 drivers/misc/habanalabs/command_buffer.c int hl_cb_create(struct hl_device *hdev, struct hl_cb_mgr *mgr, mgr 147 drivers/misc/habanalabs/command_buffer.c spin_lock(&mgr->cb_lock); mgr 148 drivers/misc/habanalabs/command_buffer.c rc = idr_alloc(&mgr->cb_handles, cb, 1, 0, GFP_ATOMIC); mgr 149 drivers/misc/habanalabs/command_buffer.c spin_unlock(&mgr->cb_lock); mgr 180 drivers/misc/habanalabs/command_buffer.c int hl_cb_destroy(struct hl_device *hdev, struct hl_cb_mgr *mgr, u64 cb_handle) mgr 193 drivers/misc/habanalabs/command_buffer.c spin_lock(&mgr->cb_lock); mgr 195 drivers/misc/habanalabs/command_buffer.c cb = idr_find(&mgr->cb_handles, handle); mgr 197 drivers/misc/habanalabs/command_buffer.c idr_remove(&mgr->cb_handles, handle); mgr 198 drivers/misc/habanalabs/command_buffer.c spin_unlock(&mgr->cb_lock); mgr 201 drivers/misc/habanalabs/command_buffer.c spin_unlock(&mgr->cb_lock); mgr 339 drivers/misc/habanalabs/command_buffer.c struct hl_cb *hl_cb_get(struct hl_device *hdev, struct hl_cb_mgr *mgr, mgr 344 drivers/misc/habanalabs/command_buffer.c spin_lock(&mgr->cb_lock); mgr 345 drivers/misc/habanalabs/command_buffer.c cb = idr_find(&mgr->cb_handles, handle); mgr 348 drivers/misc/habanalabs/command_buffer.c spin_unlock(&mgr->cb_lock); mgr 356 drivers/misc/habanalabs/command_buffer.c spin_unlock(&mgr->cb_lock); mgr 367 drivers/misc/habanalabs/command_buffer.c void hl_cb_mgr_init(struct hl_cb_mgr *mgr) mgr 369 drivers/misc/habanalabs/command_buffer.c spin_lock_init(&mgr->cb_lock); mgr 370 drivers/misc/habanalabs/command_buffer.c idr_init(&mgr->cb_handles); mgr 373 drivers/misc/habanalabs/command_buffer.c void hl_cb_mgr_fini(struct hl_device *hdev, struct hl_cb_mgr *mgr) mgr 379 drivers/misc/habanalabs/command_buffer.c idp = &mgr->cb_handles; mgr 388 drivers/misc/habanalabs/command_buffer.c idr_destroy(&mgr->cb_handles); mgr 61 drivers/misc/habanalabs/context.c struct hl_ctx_mgr *mgr = &hpriv->ctx_mgr; mgr 71 drivers/misc/habanalabs/context.c mutex_lock(&mgr->ctx_lock); mgr 72 drivers/misc/habanalabs/context.c rc = idr_alloc(&mgr->ctx_handles, ctx, 1, 0, GFP_KERNEL); mgr 73 drivers/misc/habanalabs/context.c mutex_unlock(&mgr->ctx_lock); mgr 98 drivers/misc/habanalabs/context.c mutex_lock(&mgr->ctx_lock); mgr 99 drivers/misc/habanalabs/context.c idr_remove(&mgr->ctx_handles, ctx->handle); mgr 100 drivers/misc/habanalabs/context.c mutex_unlock(&mgr->ctx_lock); mgr 210 drivers/misc/habanalabs/context.c void hl_ctx_mgr_init(struct hl_ctx_mgr *mgr) mgr 212 drivers/misc/habanalabs/context.c mutex_init(&mgr->ctx_lock); mgr 213 drivers/misc/habanalabs/context.c idr_init(&mgr->ctx_handles); mgr 225 drivers/misc/habanalabs/context.c void hl_ctx_mgr_fini(struct hl_device *hdev, struct hl_ctx_mgr *mgr) mgr 231 drivers/misc/habanalabs/context.c idp = &mgr->ctx_handles; mgr 236 drivers/misc/habanalabs/context.c idr_destroy(&mgr->ctx_handles); mgr 237 drivers/misc/habanalabs/context.c mutex_destroy(&mgr->ctx_lock); mgr 1467 drivers/misc/habanalabs/habanalabs.h void hl_ctx_mgr_init(struct hl_ctx_mgr *mgr); mgr 1468 drivers/misc/habanalabs/habanalabs.h void hl_ctx_mgr_fini(struct hl_device *hdev, struct hl_ctx_mgr *mgr); mgr 1490 drivers/misc/habanalabs/habanalabs.h int hl_cb_create(struct hl_device *hdev, struct hl_cb_mgr *mgr, u32 cb_size, mgr 1492 drivers/misc/habanalabs/habanalabs.h int hl_cb_destroy(struct hl_device *hdev, struct hl_cb_mgr *mgr, u64 cb_handle); mgr 1494 drivers/misc/habanalabs/habanalabs.h struct hl_cb *hl_cb_get(struct hl_device *hdev, struct hl_cb_mgr *mgr, mgr 1497 drivers/misc/habanalabs/habanalabs.h void hl_cb_mgr_init(struct hl_cb_mgr *mgr); mgr 1498 drivers/misc/habanalabs/habanalabs.h void hl_cb_mgr_fini(struct hl_device *hdev, struct hl_cb_mgr *mgr); mgr 863 drivers/net/wireless/intel/ipw2x00/ipw2100.h #define IS_ORDINAL_TABLE_ONE(mgr,id) \ mgr 864 drivers/net/wireless/intel/ipw2x00/ipw2100.h ((id >= IPW_START_ORD_TAB_1) && (id < mgr->table1_size)) mgr 865 drivers/net/wireless/intel/ipw2x00/ipw2100.h #define IS_ORDINAL_TABLE_TWO(mgr,id) \ mgr 866 drivers/net/wireless/intel/ipw2x00/ipw2100.h ((id >= IPW_START_ORD_TAB_2) && (id < (mgr->table2_size + IPW_START_ORD_TAB_2))) mgr 81 drivers/tee/optee/shm_pool.c struct tee_shm_pool_mgr *mgr = kzalloc(sizeof(*mgr), GFP_KERNEL); mgr 83 drivers/tee/optee/shm_pool.c if (!mgr) mgr 86 drivers/tee/optee/shm_pool.c mgr->ops = &pool_ops; mgr 88 drivers/tee/optee/shm_pool.c return mgr; mgr 112 drivers/tee/tee_shm_pool.c struct tee_shm_pool_mgr *mgr; mgr 119 drivers/tee/tee_shm_pool.c mgr = kzalloc(sizeof(*mgr), GFP_KERNEL); mgr 120 drivers/tee/tee_shm_pool.c if (!mgr) mgr 123 drivers/tee/tee_shm_pool.c mgr->private_data = gen_pool_create(min_alloc_order, -1); mgr 124 drivers/tee/tee_shm_pool.c if (!mgr->private_data) { mgr 129 drivers/tee/tee_shm_pool.c gen_pool_set_algo(mgr->private_data, gen_pool_best_fit, NULL); mgr 130 drivers/tee/tee_shm_pool.c rc = gen_pool_add_virt(mgr->private_data, vaddr, paddr, size, -1); mgr 132 drivers/tee/tee_shm_pool.c gen_pool_destroy(mgr->private_data); mgr 136 drivers/tee/tee_shm_pool.c mgr->ops = &pool_ops_generic; mgr 138 drivers/tee/tee_shm_pool.c return mgr; mgr 140 drivers/tee/tee_shm_pool.c kfree(mgr); mgr 146 drivers/tee/tee_shm_pool.c static bool check_mgr_ops(struct tee_shm_pool_mgr *mgr) mgr 148 drivers/tee/tee_shm_pool.c return mgr && mgr->ops && mgr->ops->alloc && mgr->ops->free && mgr 149 drivers/tee/tee_shm_pool.c mgr->ops->destroy_poolmgr; mgr 123 drivers/video/fbdev/omap2/omapfb/dss/apply.c static struct mgr_priv_data *get_mgr_priv(struct omap_overlay_manager *mgr) mgr 125 drivers/video/fbdev/omap2/omapfb/dss/apply.c return &dss_data.mgr_priv_data_array[mgr->id]; mgr 190 drivers/video/fbdev/omap2/omapfb/dss/apply.c static bool mgr_manual_update(struct omap_overlay_manager *mgr) mgr 192 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct mgr_priv_data *mp = get_mgr_priv(mgr); mgr 197 drivers/video/fbdev/omap2/omapfb/dss/apply.c static int dss_check_settings_low(struct omap_overlay_manager *mgr, mgr 207 drivers/video/fbdev/omap2/omapfb/dss/apply.c mp = get_mgr_priv(mgr); mgr 218 drivers/video/fbdev/omap2/omapfb/dss/apply.c list_for_each_entry(ovl, &mgr->overlays, list) { mgr 231 drivers/video/fbdev/omap2/omapfb/dss/apply.c return dss_mgr_check(mgr, mi, &mp->timings, &mp->lcd_config, ois); mgr 237 drivers/video/fbdev/omap2/omapfb/dss/apply.c static int dss_check_settings(struct omap_overlay_manager *mgr) mgr 239 drivers/video/fbdev/omap2/omapfb/dss/apply.c return dss_check_settings_low(mgr, false); mgr 246 drivers/video/fbdev/omap2/omapfb/dss/apply.c static int dss_check_settings_apply(struct omap_overlay_manager *mgr) mgr 248 drivers/video/fbdev/omap2/omapfb/dss/apply.c return dss_check_settings_low(mgr, true); mgr 257 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct omap_overlay_manager *mgr; mgr 261 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr = omap_dss_get_overlay_manager(i); mgr 262 drivers/video/fbdev/omap2/omapfb/dss/apply.c mp = get_mgr_priv(mgr); mgr 267 drivers/video/fbdev/omap2/omapfb/dss/apply.c if (mgr_manual_update(mgr)) { mgr 298 drivers/video/fbdev/omap2/omapfb/dss/apply.c list_for_each_entry(ovl, &mgr->overlays, list) { mgr 334 drivers/video/fbdev/omap2/omapfb/dss/apply.c static bool need_go(struct omap_overlay_manager *mgr) mgr 340 drivers/video/fbdev/omap2/omapfb/dss/apply.c mp = get_mgr_priv(mgr); mgr 345 drivers/video/fbdev/omap2/omapfb/dss/apply.c list_for_each_entry(ovl, &mgr->overlays, list) { mgr 361 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct omap_overlay_manager *mgr; mgr 365 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr = omap_dss_get_overlay_manager(i); mgr 366 drivers/video/fbdev/omap2/omapfb/dss/apply.c mp = get_mgr_priv(mgr); mgr 377 drivers/video/fbdev/omap2/omapfb/dss/apply.c list_for_each_entry(ovl, &mgr->overlays, list) { mgr 415 drivers/video/fbdev/omap2/omapfb/dss/apply.c static struct omap_dss_device *dss_mgr_get_device(struct omap_overlay_manager *mgr) mgr 419 drivers/video/fbdev/omap2/omapfb/dss/apply.c dssdev = mgr->output; mgr 437 drivers/video/fbdev/omap2/omapfb/dss/apply.c static int dss_mgr_wait_for_vsync(struct omap_overlay_manager *mgr) mgr 443 drivers/video/fbdev/omap2/omapfb/dss/apply.c if (mgr->output == NULL) mgr 450 drivers/video/fbdev/omap2/omapfb/dss/apply.c switch (mgr->output->id) { mgr 458 drivers/video/fbdev/omap2/omapfb/dss/apply.c irq = dispc_mgr_get_vsync_irq(mgr->id); mgr 469 drivers/video/fbdev/omap2/omapfb/dss/apply.c static int dss_mgr_wait_for_go(struct omap_overlay_manager *mgr) mgr 472 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct mgr_priv_data *mp = get_mgr_priv(mgr); mgr 480 drivers/video/fbdev/omap2/omapfb/dss/apply.c if (mgr_manual_update(mgr)) { mgr 496 drivers/video/fbdev/omap2/omapfb/dss/apply.c irq = dispc_mgr_get_vsync_irq(mgr->id); mgr 519 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->id); mgr 529 drivers/video/fbdev/omap2/omapfb/dss/apply.c DSSERR("mgr(%d)->wait_for_go() timeout\n", mgr->id); mgr 677 drivers/video/fbdev/omap2/omapfb/dss/apply.c static void dss_mgr_write_regs(struct omap_overlay_manager *mgr) mgr 679 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct mgr_priv_data *mp = get_mgr_priv(mgr); mgr 682 drivers/video/fbdev/omap2/omapfb/dss/apply.c DSSDBG("writing mgr %d regs\n", mgr->id); mgr 690 drivers/video/fbdev/omap2/omapfb/dss/apply.c list_for_each_entry(ovl, &mgr->overlays, list) { mgr 696 drivers/video/fbdev/omap2/omapfb/dss/apply.c dispc_mgr_setup(mgr->id, &mp->info); mgr 704 drivers/video/fbdev/omap2/omapfb/dss/apply.c static void dss_mgr_write_regs_extra(struct omap_overlay_manager *mgr) mgr 706 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct mgr_priv_data *mp = get_mgr_priv(mgr); mgr 708 drivers/video/fbdev/omap2/omapfb/dss/apply.c DSSDBG("writing mgr %d regs extra\n", mgr->id); mgr 713 drivers/video/fbdev/omap2/omapfb/dss/apply.c dispc_mgr_set_timings(mgr->id, &mp->timings); mgr 716 drivers/video/fbdev/omap2/omapfb/dss/apply.c if (dss_mgr_is_lcd(mgr->id)) mgr 717 drivers/video/fbdev/omap2/omapfb/dss/apply.c dispc_mgr_set_lcd_config(mgr->id, &mp->lcd_config); mgr 730 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct omap_overlay_manager *mgr; mgr 734 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr = omap_dss_get_overlay_manager(i); mgr 735 drivers/video/fbdev/omap2/omapfb/dss/apply.c mp = get_mgr_priv(mgr); mgr 737 drivers/video/fbdev/omap2/omapfb/dss/apply.c if (!mp->enabled || mgr_manual_update(mgr) || mp->busy) mgr 740 drivers/video/fbdev/omap2/omapfb/dss/apply.c r = dss_check_settings(mgr); mgr 743 drivers/video/fbdev/omap2/omapfb/dss/apply.c "illegal configuration\n", mgr->name); mgr 747 drivers/video/fbdev/omap2/omapfb/dss/apply.c dss_mgr_write_regs(mgr); mgr 748 drivers/video/fbdev/omap2/omapfb/dss/apply.c dss_mgr_write_regs_extra(mgr); mgr 758 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct omap_overlay_manager *mgr; mgr 761 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr = omap_dss_get_overlay_manager(i); mgr 762 drivers/video/fbdev/omap2/omapfb/dss/apply.c mp = get_mgr_priv(mgr); mgr 764 drivers/video/fbdev/omap2/omapfb/dss/apply.c if (!mp->enabled || mgr_manual_update(mgr) || mp->busy) mgr 767 drivers/video/fbdev/omap2/omapfb/dss/apply.c if (!need_go(mgr)) mgr 775 drivers/video/fbdev/omap2/omapfb/dss/apply.c dispc_mgr_go(mgr->id); mgr 780 drivers/video/fbdev/omap2/omapfb/dss/apply.c static void mgr_clear_shadow_dirty(struct omap_overlay_manager *mgr) mgr 786 drivers/video/fbdev/omap2/omapfb/dss/apply.c mp = get_mgr_priv(mgr); mgr 790 drivers/video/fbdev/omap2/omapfb/dss/apply.c list_for_each_entry(ovl, &mgr->overlays, list) { mgr 797 drivers/video/fbdev/omap2/omapfb/dss/apply.c static int dss_mgr_connect_compat(struct omap_overlay_manager *mgr, mgr 800 drivers/video/fbdev/omap2/omapfb/dss/apply.c return mgr->set_output(mgr, dst); mgr 803 drivers/video/fbdev/omap2/omapfb/dss/apply.c static void dss_mgr_disconnect_compat(struct omap_overlay_manager *mgr, mgr 806 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->unset_output(mgr); mgr 809 drivers/video/fbdev/omap2/omapfb/dss/apply.c static void dss_mgr_start_update_compat(struct omap_overlay_manager *mgr) mgr 811 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct mgr_priv_data *mp = get_mgr_priv(mgr); mgr 819 drivers/video/fbdev/omap2/omapfb/dss/apply.c r = dss_check_settings(mgr); mgr 826 drivers/video/fbdev/omap2/omapfb/dss/apply.c dss_mgr_write_regs(mgr); mgr 827 drivers/video/fbdev/omap2/omapfb/dss/apply.c dss_mgr_write_regs_extra(mgr); mgr 834 drivers/video/fbdev/omap2/omapfb/dss/apply.c dispc_mgr_enable_sync(mgr->id); mgr 889 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct omap_overlay_manager *mgr; mgr 892 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr = omap_dss_get_overlay_manager(i); mgr 893 drivers/video/fbdev/omap2/omapfb/dss/apply.c mp = get_mgr_priv(mgr); mgr 900 drivers/video/fbdev/omap2/omapfb/dss/apply.c if (!mgr_manual_update(mgr)) { mgr 905 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr_clear_shadow_dirty(mgr); mgr 918 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct omap_overlay_manager *mgr; mgr 921 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr = omap_dss_get_overlay_manager(i); mgr 922 drivers/video/fbdev/omap2/omapfb/dss/apply.c mp = get_mgr_priv(mgr); mgr 924 drivers/video/fbdev/omap2/omapfb/dss/apply.c if (!mgr_manual_update(mgr) || !mp->framedone_handler) mgr 951 drivers/video/fbdev/omap2/omapfb/dss/apply.c static void omap_dss_mgr_apply_mgr(struct omap_overlay_manager *mgr) mgr 955 drivers/video/fbdev/omap2/omapfb/dss/apply.c mp = get_mgr_priv(mgr); mgr 965 drivers/video/fbdev/omap2/omapfb/dss/apply.c static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr) mgr 971 drivers/video/fbdev/omap2/omapfb/dss/apply.c DSSDBG("omap_dss_mgr_apply(%s)\n", mgr->name); mgr 975 drivers/video/fbdev/omap2/omapfb/dss/apply.c r = dss_check_settings_apply(mgr); mgr 983 drivers/video/fbdev/omap2/omapfb/dss/apply.c list_for_each_entry(ovl, &mgr->overlays, list) mgr 987 drivers/video/fbdev/omap2/omapfb/dss/apply.c omap_dss_mgr_apply_mgr(mgr); mgr 1038 drivers/video/fbdev/omap2/omapfb/dss/apply.c static void dss_mgr_setup_fifos(struct omap_overlay_manager *mgr) mgr 1043 drivers/video/fbdev/omap2/omapfb/dss/apply.c mp = get_mgr_priv(mgr); mgr 1048 drivers/video/fbdev/omap2/omapfb/dss/apply.c list_for_each_entry(ovl, &mgr->overlays, list) mgr 1055 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct omap_overlay_manager *mgr; mgr 1059 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr = omap_dss_get_overlay_manager(i); mgr 1060 drivers/video/fbdev/omap2/omapfb/dss/apply.c dss_mgr_setup_fifos(mgr); mgr 1064 drivers/video/fbdev/omap2/omapfb/dss/apply.c static int dss_mgr_enable_compat(struct omap_overlay_manager *mgr) mgr 1066 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct mgr_priv_data *mp = get_mgr_priv(mgr); mgr 1079 drivers/video/fbdev/omap2/omapfb/dss/apply.c r = dss_check_settings(mgr); mgr 1082 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->id); mgr 1091 drivers/video/fbdev/omap2/omapfb/dss/apply.c if (!mgr_manual_update(mgr)) mgr 1099 drivers/video/fbdev/omap2/omapfb/dss/apply.c if (!mgr_manual_update(mgr)) mgr 1100 drivers/video/fbdev/omap2/omapfb/dss/apply.c dispc_mgr_enable_sync(mgr->id); mgr 1114 drivers/video/fbdev/omap2/omapfb/dss/apply.c static void dss_mgr_disable_compat(struct omap_overlay_manager *mgr) mgr 1116 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct mgr_priv_data *mp = get_mgr_priv(mgr); mgr 1126 drivers/video/fbdev/omap2/omapfb/dss/apply.c if (!mgr_manual_update(mgr)) mgr 1127 drivers/video/fbdev/omap2/omapfb/dss/apply.c dispc_mgr_disable_sync(mgr->id); mgr 1140 drivers/video/fbdev/omap2/omapfb/dss/apply.c static int dss_mgr_set_info(struct omap_overlay_manager *mgr, mgr 1143 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct mgr_priv_data *mp = get_mgr_priv(mgr); mgr 1147 drivers/video/fbdev/omap2/omapfb/dss/apply.c r = dss_mgr_simple_check(mgr, info); mgr 1161 drivers/video/fbdev/omap2/omapfb/dss/apply.c static void dss_mgr_get_info(struct omap_overlay_manager *mgr, mgr 1164 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct mgr_priv_data *mp = get_mgr_priv(mgr); mgr 1174 drivers/video/fbdev/omap2/omapfb/dss/apply.c static int dss_mgr_set_output(struct omap_overlay_manager *mgr, mgr 1181 drivers/video/fbdev/omap2/omapfb/dss/apply.c if (mgr->output) { mgr 1183 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->name); mgr 1188 drivers/video/fbdev/omap2/omapfb/dss/apply.c if ((mgr->supported_outputs & output->id) == 0) { mgr 1190 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->name); mgr 1195 drivers/video/fbdev/omap2/omapfb/dss/apply.c output->manager = mgr; mgr 1196 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->output = output; mgr 1206 drivers/video/fbdev/omap2/omapfb/dss/apply.c static int dss_mgr_unset_output(struct omap_overlay_manager *mgr) mgr 1209 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct mgr_priv_data *mp = get_mgr_priv(mgr); mgr 1214 drivers/video/fbdev/omap2/omapfb/dss/apply.c if (!mgr->output) { mgr 1230 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->output->manager = NULL; mgr 1231 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->output = NULL; mgr 1244 drivers/video/fbdev/omap2/omapfb/dss/apply.c static void dss_apply_mgr_timings(struct omap_overlay_manager *mgr, mgr 1247 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct mgr_priv_data *mp = get_mgr_priv(mgr); mgr 1253 drivers/video/fbdev/omap2/omapfb/dss/apply.c static void dss_mgr_set_timings_compat(struct omap_overlay_manager *mgr, mgr 1257 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct mgr_priv_data *mp = get_mgr_priv(mgr); mgr 1263 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->name); mgr 1267 drivers/video/fbdev/omap2/omapfb/dss/apply.c dss_apply_mgr_timings(mgr, timings); mgr 1272 drivers/video/fbdev/omap2/omapfb/dss/apply.c static void dss_apply_mgr_lcd_config(struct omap_overlay_manager *mgr, mgr 1275 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct mgr_priv_data *mp = get_mgr_priv(mgr); mgr 1281 drivers/video/fbdev/omap2/omapfb/dss/apply.c static void dss_mgr_set_lcd_config_compat(struct omap_overlay_manager *mgr, mgr 1285 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct mgr_priv_data *mp = get_mgr_priv(mgr); mgr 1291 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->name); mgr 1295 drivers/video/fbdev/omap2/omapfb/dss/apply.c dss_apply_mgr_lcd_config(mgr, config); mgr 1335 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct omap_overlay_manager *mgr) mgr 1341 drivers/video/fbdev/omap2/omapfb/dss/apply.c if (!mgr) mgr 1366 drivers/video/fbdev/omap2/omapfb/dss/apply.c dispc_ovl_set_channel_out(ovl->id, mgr->id); mgr 1368 drivers/video/fbdev/omap2/omapfb/dss/apply.c ovl->manager = mgr; mgr 1369 drivers/video/fbdev/omap2/omapfb/dss/apply.c list_add_tail(&ovl->list, &mgr->overlays); mgr 1546 drivers/video/fbdev/omap2/omapfb/dss/apply.c static int dss_mgr_register_framedone_handler_compat(struct omap_overlay_manager *mgr, mgr 1549 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct mgr_priv_data *mp = get_mgr_priv(mgr); mgr 1560 drivers/video/fbdev/omap2/omapfb/dss/apply.c static void dss_mgr_unregister_framedone_handler_compat(struct omap_overlay_manager *mgr, mgr 1563 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct mgr_priv_data *mp = get_mgr_priv(mgr); mgr 1603 drivers/video/fbdev/omap2/omapfb/dss/apply.c struct omap_overlay_manager *mgr; mgr 1605 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr = omap_dss_get_overlay_manager(i); mgr 1607 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->set_output = &dss_mgr_set_output; mgr 1608 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->unset_output = &dss_mgr_unset_output; mgr 1609 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->apply = &omap_dss_mgr_apply; mgr 1610 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->set_manager_info = &dss_mgr_set_info; mgr 1611 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->get_manager_info = &dss_mgr_get_info; mgr 1612 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->wait_for_go = &dss_mgr_wait_for_go; mgr 1613 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->wait_for_vsync = &dss_mgr_wait_for_vsync; mgr 1614 drivers/video/fbdev/omap2/omapfb/dss/apply.c mgr->get_device = &dss_mgr_get_device; mgr 358 drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c struct omap_overlay_manager *mgr; mgr 361 drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c mgr = omap_dss_get_overlay_manager(i); mgr 369 drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c mgr->name); mgr 371 drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c dss_mgr_disable(mgr); mgr 378 drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c ovl->manager == mgr) mgr 382 drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c dss_mgr_enable(mgr); mgr 389 drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c struct omap_overlay_manager *mgr; mgr 391 drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c mgr = omap_dss_get_overlay_manager(i); mgr 392 drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c dss_mgr_disable(mgr); mgr 326 drivers/video/fbdev/omap2/omapfb/dss/dpi.c struct omap_overlay_manager *mgr = out->manager; mgr 334 drivers/video/fbdev/omap2/omapfb/dss/dpi.c r = dpi_set_dsi_clk(dpi, mgr->id, t->pixelclock, &fck, mgr 351 drivers/video/fbdev/omap2/omapfb/dss/dpi.c dss_mgr_set_timings(mgr, t); mgr 359 drivers/video/fbdev/omap2/omapfb/dss/dpi.c struct omap_overlay_manager *mgr = out->manager; mgr 370 drivers/video/fbdev/omap2/omapfb/dss/dpi.c dss_mgr_set_lcd_config(mgr, &dpi->mgr_config); mgr 449 drivers/video/fbdev/omap2/omapfb/dss/dpi.c struct omap_overlay_manager *mgr = dpi->output.manager; mgr 453 drivers/video/fbdev/omap2/omapfb/dss/dpi.c dss_mgr_disable(mgr); mgr 456 drivers/video/fbdev/omap2/omapfb/dss/dpi.c dss_select_lcd_clk_source(mgr->id, OMAP_DSS_CLK_SRC_FCK); mgr 498 drivers/video/fbdev/omap2/omapfb/dss/dpi.c struct omap_overlay_manager *mgr = dpi->output.manager; mgr 505 drivers/video/fbdev/omap2/omapfb/dss/dpi.c if (mgr && !dispc_mgr_timings_ok(mgr->id, timings)) mgr 652 drivers/video/fbdev/omap2/omapfb/dss/dpi.c struct omap_overlay_manager *mgr; mgr 661 drivers/video/fbdev/omap2/omapfb/dss/dpi.c mgr = omap_dss_get_overlay_manager(dssdev->dispc_channel); mgr 662 drivers/video/fbdev/omap2/omapfb/dss/dpi.c if (!mgr) mgr 665 drivers/video/fbdev/omap2/omapfb/dss/dpi.c r = dss_mgr_connect(mgr, dssdev); mgr 673 drivers/video/fbdev/omap2/omapfb/dss/dpi.c dss_mgr_disconnect(mgr, dssdev); mgr 206 drivers/video/fbdev/omap2/omapfb/dss/dsi.c struct omap_overlay_manager *mgr); mgr 208 drivers/video/fbdev/omap2/omapfb/dss/dsi.c struct omap_overlay_manager *mgr); mgr 3808 drivers/video/fbdev/omap2/omapfb/dss/dsi.c struct omap_overlay_manager *mgr = dsi->output.manager; mgr 3820 drivers/video/fbdev/omap2/omapfb/dss/dsi.c r = dsi_display_init_dispc(dsidev, mgr); mgr 3858 drivers/video/fbdev/omap2/omapfb/dss/dsi.c r = dss_mgr_enable(mgr); mgr 3870 drivers/video/fbdev/omap2/omapfb/dss/dsi.c dsi_display_uninit_dispc(dsidev, mgr); mgr 3879 drivers/video/fbdev/omap2/omapfb/dss/dsi.c struct omap_overlay_manager *mgr = dsi->output.manager; mgr 3892 drivers/video/fbdev/omap2/omapfb/dss/dsi.c dss_mgr_disable(mgr); mgr 3894 drivers/video/fbdev/omap2/omapfb/dss/dsi.c dsi_display_uninit_dispc(dsidev, mgr); mgr 3900 drivers/video/fbdev/omap2/omapfb/dss/dsi.c struct omap_overlay_manager *mgr = dsi->output.manager; mgr 3962 drivers/video/fbdev/omap2/omapfb/dss/dsi.c dss_mgr_set_timings(mgr, &dsi->timings); mgr 3964 drivers/video/fbdev/omap2/omapfb/dss/dsi.c dss_mgr_start_update(mgr); mgr 4087 drivers/video/fbdev/omap2/omapfb/dss/dsi.c struct omap_overlay_manager *mgr) mgr 4092 drivers/video/fbdev/omap2/omapfb/dss/dsi.c dss_select_lcd_clk_source(mgr->id, dsi->module_id == 0 ? mgr 4097 drivers/video/fbdev/omap2/omapfb/dss/dsi.c r = dss_mgr_register_framedone_handler(mgr, mgr 4122 drivers/video/fbdev/omap2/omapfb/dss/dsi.c dss_mgr_set_timings(mgr, &dsi->timings); mgr 4133 drivers/video/fbdev/omap2/omapfb/dss/dsi.c dss_mgr_set_lcd_config(mgr, &dsi->mgr_config); mgr 4138 drivers/video/fbdev/omap2/omapfb/dss/dsi.c dss_mgr_unregister_framedone_handler(mgr, mgr 4141 drivers/video/fbdev/omap2/omapfb/dss/dsi.c dss_select_lcd_clk_source(mgr->id, OMAP_DSS_CLK_SRC_FCK); mgr 4146 drivers/video/fbdev/omap2/omapfb/dss/dsi.c struct omap_overlay_manager *mgr) mgr 4151 drivers/video/fbdev/omap2/omapfb/dss/dsi.c dss_mgr_unregister_framedone_handler(mgr, mgr 4154 drivers/video/fbdev/omap2/omapfb/dss/dsi.c dss_select_lcd_clk_source(mgr->id, OMAP_DSS_CLK_SRC_FCK); mgr 4965 drivers/video/fbdev/omap2/omapfb/dss/dsi.c struct omap_overlay_manager *mgr; mgr 4972 drivers/video/fbdev/omap2/omapfb/dss/dsi.c mgr = omap_dss_get_overlay_manager(dssdev->dispc_channel); mgr 4973 drivers/video/fbdev/omap2/omapfb/dss/dsi.c if (!mgr) mgr 4976 drivers/video/fbdev/omap2/omapfb/dss/dsi.c r = dss_mgr_connect(mgr, dssdev); mgr 4984 drivers/video/fbdev/omap2/omapfb/dss/dsi.c dss_mgr_disconnect(mgr, dssdev); mgr 221 drivers/video/fbdev/omap2/omapfb/dss/dss.h int dss_mgr_simple_check(struct omap_overlay_manager *mgr, mgr 223 drivers/video/fbdev/omap2/omapfb/dss/dss.h int dss_mgr_check_timings(struct omap_overlay_manager *mgr, mgr 225 drivers/video/fbdev/omap2/omapfb/dss/dss.h int dss_mgr_check(struct omap_overlay_manager *mgr, mgr 240 drivers/video/fbdev/omap2/omapfb/dss/dss.h int dss_manager_kobj_init(struct omap_overlay_manager *mgr, mgr 242 drivers/video/fbdev/omap2/omapfb/dss/dss.h void dss_manager_kobj_uninit(struct omap_overlay_manager *mgr); mgr 247 drivers/video/fbdev/omap2/omapfb/dss/dss.h void dss_overlay_setup_dispc_manager(struct omap_overlay_manager *mgr); mgr 505 drivers/video/fbdev/omap2/omapfb/dss/dss.h int (*connect)(struct omap_overlay_manager *mgr, mgr 507 drivers/video/fbdev/omap2/omapfb/dss/dss.h void (*disconnect)(struct omap_overlay_manager *mgr, mgr 510 drivers/video/fbdev/omap2/omapfb/dss/dss.h void (*start_update)(struct omap_overlay_manager *mgr); mgr 511 drivers/video/fbdev/omap2/omapfb/dss/dss.h int (*enable)(struct omap_overlay_manager *mgr); mgr 512 drivers/video/fbdev/omap2/omapfb/dss/dss.h void (*disable)(struct omap_overlay_manager *mgr); mgr 513 drivers/video/fbdev/omap2/omapfb/dss/dss.h void (*set_timings)(struct omap_overlay_manager *mgr, mgr 515 drivers/video/fbdev/omap2/omapfb/dss/dss.h void (*set_lcd_config)(struct omap_overlay_manager *mgr, mgr 517 drivers/video/fbdev/omap2/omapfb/dss/dss.h int (*register_framedone_handler)(struct omap_overlay_manager *mgr, mgr 519 drivers/video/fbdev/omap2/omapfb/dss/dss.h void (*unregister_framedone_handler)(struct omap_overlay_manager *mgr, mgr 526 drivers/video/fbdev/omap2/omapfb/dss/dss.h int dss_mgr_connect(struct omap_overlay_manager *mgr, mgr 528 drivers/video/fbdev/omap2/omapfb/dss/dss.h void dss_mgr_disconnect(struct omap_overlay_manager *mgr, mgr 530 drivers/video/fbdev/omap2/omapfb/dss/dss.h void dss_mgr_set_timings(struct omap_overlay_manager *mgr, mgr 532 drivers/video/fbdev/omap2/omapfb/dss/dss.h void dss_mgr_set_lcd_config(struct omap_overlay_manager *mgr, mgr 534 drivers/video/fbdev/omap2/omapfb/dss/dss.h int dss_mgr_enable(struct omap_overlay_manager *mgr); mgr 535 drivers/video/fbdev/omap2/omapfb/dss/dss.h void dss_mgr_disable(struct omap_overlay_manager *mgr); mgr 536 drivers/video/fbdev/omap2/omapfb/dss/dss.h void dss_mgr_start_update(struct omap_overlay_manager *mgr); mgr 537 drivers/video/fbdev/omap2/omapfb/dss/dss.h int dss_mgr_register_framedone_handler(struct omap_overlay_manager *mgr, mgr 539 drivers/video/fbdev/omap2/omapfb/dss/dss.h void dss_mgr_unregister_framedone_handler(struct omap_overlay_manager *mgr, mgr 147 drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c struct omap_overlay_manager *mgr = hdmi.output.manager; mgr 194 drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c dss_mgr_set_timings(mgr, p); mgr 200 drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c r = dss_mgr_enable(mgr); mgr 224 drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c struct omap_overlay_manager *mgr = hdmi.output.manager; mgr 228 drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c dss_mgr_disable(mgr); mgr 415 drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c struct omap_overlay_manager *mgr; mgr 422 drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c mgr = omap_dss_get_overlay_manager(dssdev->dispc_channel); mgr 423 drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c if (!mgr) mgr 426 drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c r = dss_mgr_connect(mgr, dssdev); mgr 434 drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c dss_mgr_disconnect(mgr, dssdev); mgr 164 drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c struct omap_overlay_manager *mgr = hdmi.output.manager; mgr 211 drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c dss_mgr_set_timings(mgr, p); mgr 217 drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c r = dss_mgr_enable(mgr); mgr 241 drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c struct omap_overlay_manager *mgr = hdmi.output.manager; mgr 245 drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c dss_mgr_disable(mgr); mgr 445 drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c struct omap_overlay_manager *mgr; mgr 452 drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c mgr = omap_dss_get_overlay_manager(dssdev->dispc_channel); mgr 453 drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c if (!mgr) mgr 456 drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c r = dss_mgr_connect(mgr, dssdev); mgr 464 drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c dss_mgr_disconnect(mgr, dssdev); mgr 23 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c static ssize_t manager_name_show(struct omap_overlay_manager *mgr, char *buf) mgr 25 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c return snprintf(buf, PAGE_SIZE, "%s\n", mgr->name); mgr 28 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c static ssize_t manager_display_show(struct omap_overlay_manager *mgr, char *buf) mgr 30 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c struct omap_dss_device *dssdev = mgr->get_device(mgr); mgr 43 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c static ssize_t manager_display_store(struct omap_overlay_manager *mgr, mgr 77 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c old_dssdev = mgr->get_device(mgr); mgr 95 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c old_dssdev = mgr->get_device(mgr); mgr 102 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c r = mgr->apply(mgr); mgr 116 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c static ssize_t manager_default_color_show(struct omap_overlay_manager *mgr, mgr 121 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c mgr->get_manager_info(mgr, &info); mgr 126 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c static ssize_t manager_default_color_store(struct omap_overlay_manager *mgr, mgr 137 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c mgr->get_manager_info(mgr, &info); mgr 141 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c r = mgr->set_manager_info(mgr, &info); mgr 145 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c r = mgr->apply(mgr); mgr 157 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c static ssize_t manager_trans_key_type_show(struct omap_overlay_manager *mgr, mgr 163 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c mgr->get_manager_info(mgr, &info); mgr 171 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c static ssize_t manager_trans_key_type_store(struct omap_overlay_manager *mgr, mgr 181 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c mgr->get_manager_info(mgr, &info); mgr 185 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c r = mgr->set_manager_info(mgr, &info); mgr 189 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c r = mgr->apply(mgr); mgr 196 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c static ssize_t manager_trans_key_value_show(struct omap_overlay_manager *mgr, mgr 201 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c mgr->get_manager_info(mgr, &info); mgr 206 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c static ssize_t manager_trans_key_value_store(struct omap_overlay_manager *mgr, mgr 217 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c mgr->get_manager_info(mgr, &info); mgr 221 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c r = mgr->set_manager_info(mgr, &info); mgr 225 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c r = mgr->apply(mgr); mgr 232 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c static ssize_t manager_trans_key_enabled_show(struct omap_overlay_manager *mgr, mgr 237 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c mgr->get_manager_info(mgr, &info); mgr 242 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c static ssize_t manager_trans_key_enabled_store(struct omap_overlay_manager *mgr, mgr 253 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c mgr->get_manager_info(mgr, &info); mgr 257 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c r = mgr->set_manager_info(mgr, &info); mgr 261 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c r = mgr->apply(mgr); mgr 269 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c struct omap_overlay_manager *mgr, char *buf) mgr 276 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c mgr->get_manager_info(mgr, &info); mgr 283 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c struct omap_overlay_manager *mgr, mgr 297 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c mgr->get_manager_info(mgr, &info); mgr 301 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c r = mgr->set_manager_info(mgr, &info); mgr 305 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c r = mgr->apply(mgr); mgr 312 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c static ssize_t manager_cpr_enable_show(struct omap_overlay_manager *mgr, mgr 317 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c mgr->get_manager_info(mgr, &info); mgr 322 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c static ssize_t manager_cpr_enable_store(struct omap_overlay_manager *mgr, mgr 336 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c mgr->get_manager_info(mgr, &info); mgr 343 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c r = mgr->set_manager_info(mgr, &info); mgr 347 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c r = mgr->apply(mgr); mgr 354 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c static ssize_t manager_cpr_coef_show(struct omap_overlay_manager *mgr, mgr 359 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c mgr->get_manager_info(mgr, &info); mgr 374 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c static ssize_t manager_cpr_coef_store(struct omap_overlay_manager *mgr, mgr 400 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c mgr->get_manager_info(mgr, &info); mgr 404 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c r = mgr->set_manager_info(mgr, &info); mgr 408 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c r = mgr->apply(mgr); mgr 501 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c int dss_manager_kobj_init(struct omap_overlay_manager *mgr, mgr 504 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c return kobject_init_and_add(&mgr->kobj, &manager_ktype, mgr 505 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c &pdev->dev.kobj, "manager%d", mgr->id); mgr 508 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c void dss_manager_kobj_uninit(struct omap_overlay_manager *mgr) mgr 510 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c kobject_del(&mgr->kobj); mgr 511 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c kobject_put(&mgr->kobj); mgr 513 drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c memset(&mgr->kobj, 0, sizeof(mgr->kobj)); mgr 40 drivers/video/fbdev/omap2/omapfb/dss/manager.c struct omap_overlay_manager *mgr = &managers[i]; mgr 44 drivers/video/fbdev/omap2/omapfb/dss/manager.c mgr->name = "lcd"; mgr 45 drivers/video/fbdev/omap2/omapfb/dss/manager.c mgr->id = OMAP_DSS_CHANNEL_LCD; mgr 48 drivers/video/fbdev/omap2/omapfb/dss/manager.c mgr->name = "tv"; mgr 49 drivers/video/fbdev/omap2/omapfb/dss/manager.c mgr->id = OMAP_DSS_CHANNEL_DIGIT; mgr 52 drivers/video/fbdev/omap2/omapfb/dss/manager.c mgr->name = "lcd2"; mgr 53 drivers/video/fbdev/omap2/omapfb/dss/manager.c mgr->id = OMAP_DSS_CHANNEL_LCD2; mgr 56 drivers/video/fbdev/omap2/omapfb/dss/manager.c mgr->name = "lcd3"; mgr 57 drivers/video/fbdev/omap2/omapfb/dss/manager.c mgr->id = OMAP_DSS_CHANNEL_LCD3; mgr 61 drivers/video/fbdev/omap2/omapfb/dss/manager.c mgr->supported_displays = mgr 62 drivers/video/fbdev/omap2/omapfb/dss/manager.c dss_feat_get_supported_displays(mgr->id); mgr 63 drivers/video/fbdev/omap2/omapfb/dss/manager.c mgr->supported_outputs = mgr 64 drivers/video/fbdev/omap2/omapfb/dss/manager.c dss_feat_get_supported_outputs(mgr->id); mgr 66 drivers/video/fbdev/omap2/omapfb/dss/manager.c INIT_LIST_HEAD(&mgr->overlays); mgr 77 drivers/video/fbdev/omap2/omapfb/dss/manager.c struct omap_overlay_manager *mgr = &managers[i]; mgr 79 drivers/video/fbdev/omap2/omapfb/dss/manager.c r = dss_manager_kobj_init(mgr, pdev); mgr 99 drivers/video/fbdev/omap2/omapfb/dss/manager.c struct omap_overlay_manager *mgr = &managers[i]; mgr 101 drivers/video/fbdev/omap2/omapfb/dss/manager.c dss_manager_kobj_uninit(mgr); mgr 120 drivers/video/fbdev/omap2/omapfb/dss/manager.c int dss_mgr_simple_check(struct omap_overlay_manager *mgr, mgr 139 drivers/video/fbdev/omap2/omapfb/dss/manager.c static int dss_mgr_check_zorder(struct omap_overlay_manager *mgr, mgr 145 drivers/video/fbdev/omap2/omapfb/dss/manager.c list_for_each_entry(ovl1, &mgr->overlays, list) { mgr 151 drivers/video/fbdev/omap2/omapfb/dss/manager.c list_for_each_entry(ovl2, &mgr->overlays, list) { mgr 172 drivers/video/fbdev/omap2/omapfb/dss/manager.c int dss_mgr_check_timings(struct omap_overlay_manager *mgr, mgr 175 drivers/video/fbdev/omap2/omapfb/dss/manager.c if (!dispc_mgr_timings_ok(mgr->id, timings)) { mgr 183 drivers/video/fbdev/omap2/omapfb/dss/manager.c static int dss_mgr_check_lcd_config(struct omap_overlay_manager *mgr, mgr 213 drivers/video/fbdev/omap2/omapfb/dss/manager.c int dss_mgr_check(struct omap_overlay_manager *mgr, mgr 223 drivers/video/fbdev/omap2/omapfb/dss/manager.c r = dss_mgr_check_zorder(mgr, overlay_infos); mgr 228 drivers/video/fbdev/omap2/omapfb/dss/manager.c r = dss_mgr_check_timings(mgr, mgr_timings); mgr 232 drivers/video/fbdev/omap2/omapfb/dss/manager.c r = dss_mgr_check_lcd_config(mgr, lcd_config); mgr 236 drivers/video/fbdev/omap2/omapfb/dss/manager.c list_for_each_entry(ovl, &mgr->overlays, list) { mgr 164 drivers/video/fbdev/omap2/omapfb/dss/output.c struct omap_overlay_manager *mgr; mgr 171 drivers/video/fbdev/omap2/omapfb/dss/output.c mgr = out->manager; mgr 175 drivers/video/fbdev/omap2/omapfb/dss/output.c return mgr; mgr 198 drivers/video/fbdev/omap2/omapfb/dss/output.c int dss_mgr_connect(struct omap_overlay_manager *mgr, mgr 201 drivers/video/fbdev/omap2/omapfb/dss/output.c return dss_mgr_ops->connect(mgr, dst); mgr 205 drivers/video/fbdev/omap2/omapfb/dss/output.c void dss_mgr_disconnect(struct omap_overlay_manager *mgr, mgr 208 drivers/video/fbdev/omap2/omapfb/dss/output.c dss_mgr_ops->disconnect(mgr, dst); mgr 212 drivers/video/fbdev/omap2/omapfb/dss/output.c void dss_mgr_set_timings(struct omap_overlay_manager *mgr, mgr 215 drivers/video/fbdev/omap2/omapfb/dss/output.c dss_mgr_ops->set_timings(mgr, timings); mgr 219 drivers/video/fbdev/omap2/omapfb/dss/output.c void dss_mgr_set_lcd_config(struct omap_overlay_manager *mgr, mgr 222 drivers/video/fbdev/omap2/omapfb/dss/output.c dss_mgr_ops->set_lcd_config(mgr, config); mgr 226 drivers/video/fbdev/omap2/omapfb/dss/output.c int dss_mgr_enable(struct omap_overlay_manager *mgr) mgr 228 drivers/video/fbdev/omap2/omapfb/dss/output.c return dss_mgr_ops->enable(mgr); mgr 232 drivers/video/fbdev/omap2/omapfb/dss/output.c void dss_mgr_disable(struct omap_overlay_manager *mgr) mgr 234 drivers/video/fbdev/omap2/omapfb/dss/output.c dss_mgr_ops->disable(mgr); mgr 238 drivers/video/fbdev/omap2/omapfb/dss/output.c void dss_mgr_start_update(struct omap_overlay_manager *mgr) mgr 240 drivers/video/fbdev/omap2/omapfb/dss/output.c dss_mgr_ops->start_update(mgr); mgr 244 drivers/video/fbdev/omap2/omapfb/dss/output.c int dss_mgr_register_framedone_handler(struct omap_overlay_manager *mgr, mgr 247 drivers/video/fbdev/omap2/omapfb/dss/output.c return dss_mgr_ops->register_framedone_handler(mgr, handler, data); mgr 251 drivers/video/fbdev/omap2/omapfb/dss/output.c void dss_mgr_unregister_framedone_handler(struct omap_overlay_manager *mgr, mgr 254 drivers/video/fbdev/omap2/omapfb/dss/output.c dss_mgr_ops->unregister_framedone_handler(mgr, handler, data); mgr 38 drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c struct omap_overlay_manager *mgr = NULL; mgr 47 drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c mgr = omap_dss_get_overlay_manager(i); mgr 49 drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c if (sysfs_streq(buf, mgr->name)) mgr 52 drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c mgr = NULL; mgr 56 drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c if (len > 0 && mgr == NULL) mgr 59 drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c if (mgr) mgr 60 drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c DSSDBG("manager %s found\n", mgr->name); mgr 62 drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c if (mgr == ovl->manager) mgr 84 drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c if (mgr) { mgr 85 drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c r = ovl->set_manager(ovl, mgr); mgr 91 drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c r = mgr->apply(mgr); mgr 106 drivers/video/fbdev/omap2/omapfb/dss/sdi.c struct omap_overlay_manager *mgr = sdi.output.manager; mgr 116 drivers/video/fbdev/omap2/omapfb/dss/sdi.c dss_mgr_set_lcd_config(mgr, &sdi.mgr_config); mgr 208 drivers/video/fbdev/omap2/omapfb/dss/sdi.c struct omap_overlay_manager *mgr = sdi.output.manager; mgr 210 drivers/video/fbdev/omap2/omapfb/dss/sdi.c dss_mgr_disable(mgr); mgr 234 drivers/video/fbdev/omap2/omapfb/dss/sdi.c struct omap_overlay_manager *mgr = sdi.output.manager; mgr 236 drivers/video/fbdev/omap2/omapfb/dss/sdi.c if (mgr && !dispc_mgr_timings_ok(mgr->id, timings)) mgr 272 drivers/video/fbdev/omap2/omapfb/dss/sdi.c struct omap_overlay_manager *mgr; mgr 279 drivers/video/fbdev/omap2/omapfb/dss/sdi.c mgr = omap_dss_get_overlay_manager(dssdev->dispc_channel); mgr 280 drivers/video/fbdev/omap2/omapfb/dss/sdi.c if (!mgr) mgr 283 drivers/video/fbdev/omap2/omapfb/dss/sdi.c r = dss_mgr_connect(mgr, dssdev); mgr 291 drivers/video/fbdev/omap2/omapfb/dss/sdi.c dss_mgr_disconnect(mgr, dssdev); mgr 423 drivers/video/fbdev/omap2/omapfb/dss/venc.c struct omap_overlay_manager *mgr = venc.output.manager; mgr 449 drivers/video/fbdev/omap2/omapfb/dss/venc.c dss_mgr_set_timings(mgr, &venc.timings); mgr 455 drivers/video/fbdev/omap2/omapfb/dss/venc.c r = dss_mgr_enable(mgr); mgr 474 drivers/video/fbdev/omap2/omapfb/dss/venc.c struct omap_overlay_manager *mgr = venc.output.manager; mgr 479 drivers/video/fbdev/omap2/omapfb/dss/venc.c dss_mgr_disable(mgr); mgr 722 drivers/video/fbdev/omap2/omapfb/dss/venc.c struct omap_overlay_manager *mgr; mgr 729 drivers/video/fbdev/omap2/omapfb/dss/venc.c mgr = omap_dss_get_overlay_manager(dssdev->dispc_channel); mgr 730 drivers/video/fbdev/omap2/omapfb/dss/venc.c if (!mgr) mgr 733 drivers/video/fbdev/omap2/omapfb/dss/venc.c r = dss_mgr_connect(mgr, dssdev); mgr 741 drivers/video/fbdev/omap2/omapfb/dss/venc.c dss_mgr_disconnect(mgr, dssdev); mgr 366 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c static int _omapfb_set_color_key(struct omap_overlay_manager *mgr, mgr 373 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c mgr->get_manager_info(mgr, &info); mgr 377 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c omapfb_color_keys[mgr->id] = *ck; mgr 379 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c r = mgr->set_manager_info(mgr, &info); mgr 383 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c r = mgr->apply(mgr); mgr 404 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c omapfb_color_keys[mgr->id] = *ck; mgr 406 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c r = mgr->set_manager_info(mgr, &info); mgr 410 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c r = mgr->apply(mgr); mgr 422 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c struct omap_overlay_manager *mgr = NULL; mgr 428 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c mgr = ofbi->overlays[i]->manager; mgr 433 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c if (!mgr) { mgr 438 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c r = _omapfb_set_color_key(mgr, ck); mgr 450 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c struct omap_overlay_manager *mgr = NULL; mgr 458 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c mgr = ofbi->overlays[i]->manager; mgr 463 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c if (!mgr) { mgr 468 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c *ck = omapfb_color_keys[mgr->id]; mgr 580 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c struct omap_overlay_manager *mgr; mgr 776 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c mgr = omapdss_find_mgr_from_display(display); mgr 777 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c if (!mgr) { mgr 782 drivers/video/fbdev/omap2/omapfb/omapfb-ioctl.c r = mgr->wait_for_vsync(mgr); mgr 2361 drivers/video/fbdev/omap2/omapfb/omapfb-main.c struct omap_overlay_manager *mgr; mgr 2382 drivers/video/fbdev/omap2/omapfb/omapfb-main.c mgr = omapdss_find_mgr_from_display(def_dssdev); mgr 2384 drivers/video/fbdev/omap2/omapfb/omapfb-main.c if (!mgr) { mgr 2395 drivers/video/fbdev/omap2/omapfb/omapfb-main.c r = ovl->set_manager(ovl, mgr); mgr 2399 drivers/video/fbdev/omap2/omapfb/omapfb-main.c ovl->name, mgr->name); mgr 2562 drivers/video/fbdev/omap2/omapfb/omapfb-main.c struct omap_overlay_manager *mgr; mgr 2563 drivers/video/fbdev/omap2/omapfb/omapfb-main.c mgr = fbdev->managers[i]; mgr 2564 drivers/video/fbdev/omap2/omapfb/omapfb-main.c r = mgr->apply(mgr); mgr 99 include/drm/drm_dp_mst_helper.h struct drm_dp_mst_topology_mgr *mgr; mgr 155 include/drm/drm_dp_mst_helper.h struct drm_dp_mst_topology_mgr *mgr; mgr 407 include/drm/drm_dp_mst_helper.h struct drm_connector *(*add_connector)(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port, const char *path); mgr 409 include/drm/drm_dp_mst_helper.h void (*destroy_connector)(struct drm_dp_mst_topology_mgr *mgr, mgr 437 include/drm/drm_dp_mst_helper.h struct drm_dp_mst_topology_mgr *mgr; mgr 592 include/drm/drm_dp_mst_helper.h int drm_dp_mst_topology_mgr_init(struct drm_dp_mst_topology_mgr *mgr, mgr 597 include/drm/drm_dp_mst_helper.h void drm_dp_mst_topology_mgr_destroy(struct drm_dp_mst_topology_mgr *mgr); mgr 600 include/drm/drm_dp_mst_helper.h int drm_dp_mst_topology_mgr_set_mst(struct drm_dp_mst_topology_mgr *mgr, bool mst_state); mgr 603 include/drm/drm_dp_mst_helper.h int drm_dp_mst_hpd_irq(struct drm_dp_mst_topology_mgr *mgr, u8 *esi, bool *handled); mgr 606 include/drm/drm_dp_mst_helper.h enum drm_connector_status drm_dp_mst_detect_port(struct drm_connector *connector, struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port); mgr 608 include/drm/drm_dp_mst_helper.h bool drm_dp_mst_port_has_audio(struct drm_dp_mst_topology_mgr *mgr, mgr 610 include/drm/drm_dp_mst_helper.h struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port); mgr 616 include/drm/drm_dp_mst_helper.h bool drm_dp_mst_allocate_vcpi(struct drm_dp_mst_topology_mgr *mgr, mgr 619 include/drm/drm_dp_mst_helper.h int drm_dp_mst_get_vcpi_slots(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port); mgr 622 include/drm/drm_dp_mst_helper.h void drm_dp_mst_reset_vcpi_slots(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port); mgr 625 include/drm/drm_dp_mst_helper.h void drm_dp_mst_deallocate_vcpi(struct drm_dp_mst_topology_mgr *mgr, mgr 629 include/drm/drm_dp_mst_helper.h int drm_dp_find_vcpi_slots(struct drm_dp_mst_topology_mgr *mgr, mgr 633 include/drm/drm_dp_mst_helper.h int drm_dp_update_payload_part1(struct drm_dp_mst_topology_mgr *mgr); mgr 636 include/drm/drm_dp_mst_helper.h int drm_dp_update_payload_part2(struct drm_dp_mst_topology_mgr *mgr); mgr 638 include/drm/drm_dp_mst_helper.h int drm_dp_check_act_status(struct drm_dp_mst_topology_mgr *mgr); mgr 641 include/drm/drm_dp_mst_helper.h struct drm_dp_mst_topology_mgr *mgr); mgr 643 include/drm/drm_dp_mst_helper.h void drm_dp_mst_topology_mgr_suspend(struct drm_dp_mst_topology_mgr *mgr); mgr 645 include/drm/drm_dp_mst_helper.h drm_dp_mst_topology_mgr_resume(struct drm_dp_mst_topology_mgr *mgr); mgr 658 include/drm/drm_dp_mst_helper.h struct drm_dp_mst_topology_mgr *mgr); mgr 661 include/drm/drm_dp_mst_helper.h struct drm_dp_mst_topology_mgr *mgr, mgr 665 include/drm/drm_dp_mst_helper.h struct drm_dp_mst_topology_mgr *mgr, mgr 667 include/drm/drm_dp_mst_helper.h int drm_dp_send_power_updown_phy(struct drm_dp_mst_topology_mgr *mgr, mgr 697 include/drm/drm_dp_mst_helper.h struct drm_dp_mst_topology_mgr **mgr, mgr 707 include/drm/drm_dp_mst_helper.h *mgr = to_dp_mst_topology_mgr(objs_state->ptr); mgr 731 include/drm/drm_dp_mst_helper.h #define for_each_oldnew_mst_mgr_in_state(__state, mgr, old_state, new_state, __i) \ mgr 733 include/drm/drm_dp_mst_helper.h for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), &(old_state), &(new_state), (__i))) mgr 748 include/drm/drm_dp_mst_helper.h #define for_each_old_mst_mgr_in_state(__state, mgr, old_state, __i) \ mgr 750 include/drm/drm_dp_mst_helper.h for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), &(old_state), NULL, (__i))) mgr 766 include/drm/drm_dp_mst_helper.h #define for_each_new_mst_mgr_in_state(__state, mgr, new_state, __i) \ mgr 768 include/drm/drm_dp_mst_helper.h for_each_if(__drm_dp_mst_state_iter_get((__state), &(mgr), NULL, &(new_state), (__i))) mgr 64 include/drm/drm_vma_manager.h void drm_vma_offset_manager_init(struct drm_vma_offset_manager *mgr, mgr 66 include/drm/drm_vma_manager.h void drm_vma_offset_manager_destroy(struct drm_vma_offset_manager *mgr); mgr 68 include/drm/drm_vma_manager.h struct drm_vma_offset_node *drm_vma_offset_lookup_locked(struct drm_vma_offset_manager *mgr, mgr 71 include/drm/drm_vma_manager.h int drm_vma_offset_add(struct drm_vma_offset_manager *mgr, mgr 73 include/drm/drm_vma_manager.h void drm_vma_offset_remove(struct drm_vma_offset_manager *mgr, mgr 95 include/drm/drm_vma_manager.h drm_vma_offset_exact_lookup_locked(struct drm_vma_offset_manager *mgr, mgr 101 include/drm/drm_vma_manager.h node = drm_vma_offset_lookup_locked(mgr, start, pages); mgr 121 include/drm/drm_vma_manager.h static inline void drm_vma_offset_lock_lookup(struct drm_vma_offset_manager *mgr) mgr 123 include/drm/drm_vma_manager.h read_lock(&mgr->vm_lock); mgr 132 include/drm/drm_vma_manager.h static inline void drm_vma_offset_unlock_lookup(struct drm_vma_offset_manager *mgr) mgr 134 include/drm/drm_vma_manager.h read_unlock(&mgr->vm_lock); mgr 126 include/linux/fpga/fpga-mgr.h enum fpga_mgr_states (*state)(struct fpga_manager *mgr); mgr 127 include/linux/fpga/fpga-mgr.h u64 (*status)(struct fpga_manager *mgr); mgr 128 include/linux/fpga/fpga-mgr.h int (*write_init)(struct fpga_manager *mgr, mgr 131 include/linux/fpga/fpga-mgr.h int (*write)(struct fpga_manager *mgr, const char *buf, size_t count); mgr 132 include/linux/fpga/fpga-mgr.h int (*write_sg)(struct fpga_manager *mgr, struct sg_table *sgt); mgr 133 include/linux/fpga/fpga-mgr.h int (*write_complete)(struct fpga_manager *mgr, mgr 135 include/linux/fpga/fpga-mgr.h void (*fpga_remove)(struct fpga_manager *mgr); mgr 183 include/linux/fpga/fpga-mgr.h int fpga_mgr_load(struct fpga_manager *mgr, struct fpga_image_info *info); mgr 185 include/linux/fpga/fpga-mgr.h int fpga_mgr_lock(struct fpga_manager *mgr); mgr 186 include/linux/fpga/fpga-mgr.h void fpga_mgr_unlock(struct fpga_manager *mgr); mgr 192 include/linux/fpga/fpga-mgr.h void fpga_mgr_put(struct fpga_manager *mgr); mgr 197 include/linux/fpga/fpga-mgr.h void fpga_mgr_free(struct fpga_manager *mgr); mgr 198 include/linux/fpga/fpga-mgr.h int fpga_mgr_register(struct fpga_manager *mgr); mgr 199 include/linux/fpga/fpga-mgr.h void fpga_mgr_unregister(struct fpga_manager *mgr); mgr 25 include/linux/fpga/fpga-region.h struct fpga_manager *mgr; mgr 41 include/linux/fpga/fpga-region.h *fpga_region_create(struct device *dev, struct fpga_manager *mgr, mgr 48 include/linux/fpga/fpga-region.h *devm_fpga_region_create(struct device *dev, struct fpga_manager *mgr, mgr 1459 include/linux/lsm_hooks.h int (*binder_set_context_mgr)(struct task_struct *mgr); mgr 252 include/linux/security.h int security_binder_set_context_mgr(struct task_struct *mgr); mgr 484 include/linux/security.h static inline int security_binder_set_context_mgr(struct task_struct *mgr) mgr 343 include/video/omapfb_dss.h struct omap_overlay_manager *mgr); mgr 393 include/video/omapfb_dss.h int (*set_output)(struct omap_overlay_manager *mgr, mgr 395 include/video/omapfb_dss.h int (*unset_output)(struct omap_overlay_manager *mgr); mgr 397 include/video/omapfb_dss.h int (*set_manager_info)(struct omap_overlay_manager *mgr, mgr 399 include/video/omapfb_dss.h void (*get_manager_info)(struct omap_overlay_manager *mgr, mgr 402 include/video/omapfb_dss.h int (*apply)(struct omap_overlay_manager *mgr); mgr 403 include/video/omapfb_dss.h int (*wait_for_go)(struct omap_overlay_manager *mgr); mgr 404 include/video/omapfb_dss.h int (*wait_for_vsync)(struct omap_overlay_manager *mgr); mgr 406 include/video/omapfb_dss.h struct omap_dss_device *(*get_device)(struct omap_overlay_manager *mgr); mgr 42 net/bluetooth/a2mp.c static void a2mp_send(struct amp_mgr *mgr, u8 code, u8 ident, u16 len, void *data) mgr 44 net/bluetooth/a2mp.c struct l2cap_chan *chan = mgr->a2mp_chan; mgr 66 net/bluetooth/a2mp.c static u8 __next_ident(struct amp_mgr *mgr) mgr 68 net/bluetooth/a2mp.c if (++mgr->ident == 0) mgr 69 net/bluetooth/a2mp.c mgr->ident = 1; mgr 71 net/bluetooth/a2mp.c return mgr->ident; mgr 76 net/bluetooth/a2mp.c struct amp_mgr *mgr; mgr 79 net/bluetooth/a2mp.c list_for_each_entry(mgr, &_mgr_list, list) { mgr 80 net/bluetooth/a2mp.c if (test_and_clear_bit(state, &mgr->state)) { mgr 81 net/bluetooth/a2mp.c amp_mgr_get(mgr); mgr 83 net/bluetooth/a2mp.c return mgr; mgr 92 net/bluetooth/a2mp.c static void __a2mp_add_cl(struct amp_mgr *mgr, struct a2mp_cl *cl) mgr 115 net/bluetooth/a2mp.c static int a2mp_command_rej(struct amp_mgr *mgr, struct sk_buff *skb, mgr 130 net/bluetooth/a2mp.c static int a2mp_discover_req(struct amp_mgr *mgr, struct sk_buff *skb, mgr 180 net/bluetooth/a2mp.c __a2mp_add_cl(mgr, rsp->cl); mgr 184 net/bluetooth/a2mp.c a2mp_send(mgr, A2MP_DISCOVER_RSP, hdr->ident, len, rsp); mgr 190 net/bluetooth/a2mp.c static int a2mp_discover_rsp(struct amp_mgr *mgr, struct sk_buff *skb, mgr 230 net/bluetooth/a2mp.c a2mp_send(mgr, A2MP_GETINFO_REQ, __next_ident(mgr), mgr 240 net/bluetooth/a2mp.c struct l2cap_conn *conn = mgr->l2cap_conn; mgr 267 net/bluetooth/a2mp.c static int a2mp_change_notify(struct amp_mgr *mgr, struct sk_buff *skb, mgr 291 net/bluetooth/a2mp.c static int a2mp_getinfo_req(struct amp_mgr *mgr, struct sk_buff *skb, mgr 311 net/bluetooth/a2mp.c a2mp_send(mgr, A2MP_GETINFO_RSP, hdr->ident, sizeof(rsp), mgr 317 net/bluetooth/a2mp.c set_bit(READ_LOC_AMP_INFO, &mgr->state); mgr 332 net/bluetooth/a2mp.c static int a2mp_getinfo_rsp(struct amp_mgr *mgr, struct sk_buff *skb, mgr 347 net/bluetooth/a2mp.c ctrl = amp_ctrl_add(mgr, rsp->id); mgr 352 net/bluetooth/a2mp.c a2mp_send(mgr, A2MP_GETAMPASSOC_REQ, __next_ident(mgr), sizeof(req), mgr 359 net/bluetooth/a2mp.c static int a2mp_getampassoc_req(struct amp_mgr *mgr, struct sk_buff *skb, mgr 386 net/bluetooth/a2mp.c a2mp_send(mgr, A2MP_GETAMPASSOC_RSP, hdr->ident, sizeof(rsp), mgr 392 net/bluetooth/a2mp.c amp_read_loc_assoc(hdev, mgr); mgr 402 net/bluetooth/a2mp.c static int a2mp_getampassoc_rsp(struct amp_mgr *mgr, struct sk_buff *skb, mgr 424 net/bluetooth/a2mp.c ctrl = amp_ctrl_lookup(mgr, rsp->id); mgr 447 net/bluetooth/a2mp.c hcon = phylink_add(hdev, mgr, rsp->id, true); mgr 453 net/bluetooth/a2mp.c mgr->bredr_chan->remote_amp_id = rsp->id; mgr 455 net/bluetooth/a2mp.c amp_create_phylink(hdev, mgr, hcon); mgr 463 net/bluetooth/a2mp.c static int a2mp_createphyslink_req(struct amp_mgr *mgr, struct sk_buff *skb, mgr 487 net/bluetooth/a2mp.c ctrl = amp_ctrl_lookup(mgr, rsp.remote_id); mgr 489 net/bluetooth/a2mp.c ctrl = amp_ctrl_add(mgr, rsp.remote_id); mgr 516 net/bluetooth/a2mp.c hcon = phylink_add(hdev, mgr, req->local_id, false); mgr 518 net/bluetooth/a2mp.c amp_accept_phylink(hdev, mgr, hcon); mgr 532 net/bluetooth/a2mp.c a2mp_send(mgr, A2MP_CREATEPHYSLINK_RSP, hdr->ident, mgr 535 net/bluetooth/a2mp.c set_bit(WRITE_REMOTE_AMP_ASSOC, &mgr->state); mgr 536 net/bluetooth/a2mp.c mgr->ident = hdr->ident; mgr 543 net/bluetooth/a2mp.c static int a2mp_discphyslink_req(struct amp_mgr *mgr, struct sk_buff *skb, mgr 567 net/bluetooth/a2mp.c &mgr->l2cap_conn->hcon->dst); mgr 580 net/bluetooth/a2mp.c a2mp_send(mgr, A2MP_DISCONNPHYSLINK_RSP, hdr->ident, sizeof(rsp), &rsp); mgr 586 net/bluetooth/a2mp.c static inline int a2mp_cmd_rsp(struct amp_mgr *mgr, struct sk_buff *skb, mgr 599 net/bluetooth/a2mp.c struct amp_mgr *mgr = chan->data; mgr 602 net/bluetooth/a2mp.c amp_mgr_get(mgr); mgr 619 net/bluetooth/a2mp.c mgr->ident = hdr->ident; mgr 623 net/bluetooth/a2mp.c a2mp_command_rej(mgr, skb, hdr); mgr 627 net/bluetooth/a2mp.c err = a2mp_discover_req(mgr, skb, hdr); mgr 631 net/bluetooth/a2mp.c err = a2mp_change_notify(mgr, skb, hdr); mgr 635 net/bluetooth/a2mp.c err = a2mp_getinfo_req(mgr, skb, hdr); mgr 639 net/bluetooth/a2mp.c err = a2mp_getampassoc_req(mgr, skb, hdr); mgr 643 net/bluetooth/a2mp.c err = a2mp_createphyslink_req(mgr, skb, hdr); mgr 647 net/bluetooth/a2mp.c err = a2mp_discphyslink_req(mgr, skb, hdr); mgr 651 net/bluetooth/a2mp.c err = a2mp_discover_rsp(mgr, skb, hdr); mgr 655 net/bluetooth/a2mp.c err = a2mp_getinfo_rsp(mgr, skb, hdr); mgr 659 net/bluetooth/a2mp.c err = a2mp_getampassoc_rsp(mgr, skb, hdr); mgr 665 net/bluetooth/a2mp.c err = a2mp_cmd_rsp(mgr, skb, hdr); mgr 683 net/bluetooth/a2mp.c a2mp_send(mgr, A2MP_COMMAND_REJ, hdr->ident, sizeof(rej), mgr 691 net/bluetooth/a2mp.c amp_mgr_put(mgr); mgr 704 net/bluetooth/a2mp.c struct amp_mgr *mgr = chan->data; mgr 706 net/bluetooth/a2mp.c if (!mgr) mgr 715 net/bluetooth/a2mp.c if (mgr) mgr 716 net/bluetooth/a2mp.c amp_mgr_put(mgr); mgr 804 net/bluetooth/a2mp.c struct amp_mgr *amp_mgr_get(struct amp_mgr *mgr) mgr 806 net/bluetooth/a2mp.c BT_DBG("mgr %p orig refcnt %d", mgr, kref_read(&mgr->kref)); mgr 808 net/bluetooth/a2mp.c kref_get(&mgr->kref); mgr 810 net/bluetooth/a2mp.c return mgr; mgr 815 net/bluetooth/a2mp.c struct amp_mgr *mgr = container_of(kref, struct amp_mgr, kref); mgr 817 net/bluetooth/a2mp.c BT_DBG("mgr %p", mgr); mgr 820 net/bluetooth/a2mp.c list_del(&mgr->list); mgr 823 net/bluetooth/a2mp.c amp_ctrl_list_flush(mgr); mgr 824 net/bluetooth/a2mp.c kfree(mgr); mgr 827 net/bluetooth/a2mp.c int amp_mgr_put(struct amp_mgr *mgr) mgr 829 net/bluetooth/a2mp.c BT_DBG("mgr %p orig refcnt %d", mgr, kref_read(&mgr->kref)); mgr 831 net/bluetooth/a2mp.c return kref_put(&mgr->kref, &_mgr_destroy); mgr 836 net/bluetooth/a2mp.c struct amp_mgr *mgr; mgr 839 net/bluetooth/a2mp.c mgr = kzalloc(sizeof(*mgr), GFP_KERNEL); mgr 840 net/bluetooth/a2mp.c if (!mgr) mgr 843 net/bluetooth/a2mp.c BT_DBG("conn %p mgr %p", conn, mgr); mgr 845 net/bluetooth/a2mp.c mgr->l2cap_conn = conn; mgr 849 net/bluetooth/a2mp.c kfree(mgr); mgr 853 net/bluetooth/a2mp.c mgr->a2mp_chan = chan; mgr 854 net/bluetooth/a2mp.c chan->data = mgr; mgr 856 net/bluetooth/a2mp.c conn->hcon->amp_mgr = mgr; mgr 858 net/bluetooth/a2mp.c kref_init(&mgr->kref); mgr 861 net/bluetooth/a2mp.c INIT_LIST_HEAD(&mgr->amp_ctrls); mgr 862 net/bluetooth/a2mp.c mutex_init(&mgr->amp_ctrls_lock); mgr 865 net/bluetooth/a2mp.c list_add(&mgr->list, &_mgr_list); mgr 868 net/bluetooth/a2mp.c return mgr; mgr 874 net/bluetooth/a2mp.c struct amp_mgr *mgr; mgr 879 net/bluetooth/a2mp.c mgr = amp_mgr_create(conn, false); mgr 880 net/bluetooth/a2mp.c if (!mgr) { mgr 885 net/bluetooth/a2mp.c BT_DBG("mgr: %p chan %p", mgr, mgr->a2mp_chan); mgr 887 net/bluetooth/a2mp.c return mgr->a2mp_chan; mgr 892 net/bluetooth/a2mp.c struct amp_mgr *mgr; mgr 895 net/bluetooth/a2mp.c mgr = amp_mgr_lookup_by_state(READ_LOC_AMP_INFO); mgr 896 net/bluetooth/a2mp.c if (!mgr) mgr 899 net/bluetooth/a2mp.c BT_DBG("%s mgr %p", hdev->name, mgr); mgr 913 net/bluetooth/a2mp.c a2mp_send(mgr, A2MP_GETINFO_RSP, mgr->ident, sizeof(rsp), &rsp); mgr 914 net/bluetooth/a2mp.c amp_mgr_put(mgr); mgr 919 net/bluetooth/a2mp.c struct amp_mgr *mgr; mgr 924 net/bluetooth/a2mp.c mgr = amp_mgr_lookup_by_state(READ_LOC_AMP_ASSOC); mgr 925 net/bluetooth/a2mp.c if (!mgr) mgr 928 net/bluetooth/a2mp.c BT_DBG("%s mgr %p", hdev->name, mgr); mgr 933 net/bluetooth/a2mp.c amp_mgr_put(mgr); mgr 946 net/bluetooth/a2mp.c a2mp_send(mgr, A2MP_GETAMPASSOC_RSP, mgr->ident, len, rsp); mgr 947 net/bluetooth/a2mp.c amp_mgr_put(mgr); mgr 953 net/bluetooth/a2mp.c struct amp_mgr *mgr; mgr 959 net/bluetooth/a2mp.c mgr = amp_mgr_lookup_by_state(READ_LOC_AMP_ASSOC_FINAL); mgr 960 net/bluetooth/a2mp.c if (!mgr) mgr 965 net/bluetooth/a2mp.c BT_DBG("%s mgr %p assoc_len %zu", hdev->name, mgr, len); mgr 969 net/bluetooth/a2mp.c amp_mgr_put(mgr); mgr 973 net/bluetooth/a2mp.c bredr_chan = mgr->bredr_chan; mgr 981 net/bluetooth/a2mp.c a2mp_send(mgr, A2MP_CREATEPHYSLINK_REQ, __next_ident(mgr), len, req); mgr 984 net/bluetooth/a2mp.c amp_mgr_put(mgr); mgr 990 net/bluetooth/a2mp.c struct amp_mgr *mgr; mgr 994 net/bluetooth/a2mp.c mgr = amp_mgr_lookup_by_state(WRITE_REMOTE_AMP_ASSOC); mgr 995 net/bluetooth/a2mp.c if (!mgr) mgr 1006 net/bluetooth/a2mp.c BT_DBG("%s mgr %p hs_hcon %p status %u", hdev->name, mgr, hs_hcon, mgr 1010 net/bluetooth/a2mp.c a2mp_send(mgr, A2MP_CREATEPHYSLINK_RSP, mgr->ident, sizeof(rsp), &rsp); mgr 1011 net/bluetooth/a2mp.c amp_mgr_put(mgr); mgr 1017 net/bluetooth/a2mp.c struct amp_mgr *mgr = conn->hcon->amp_mgr; mgr 1020 net/bluetooth/a2mp.c BT_DBG("chan %p conn %p mgr %p", chan, conn, mgr); mgr 1022 net/bluetooth/a2mp.c if (!mgr) { mgr 1023 net/bluetooth/a2mp.c mgr = amp_mgr_create(conn, true); mgr 1024 net/bluetooth/a2mp.c if (!mgr) mgr 1028 net/bluetooth/a2mp.c mgr->bredr_chan = chan; mgr 1032 net/bluetooth/a2mp.c a2mp_send(mgr, A2MP_DISCOVER_REQ, 1, sizeof(req), &req); mgr 125 net/bluetooth/a2mp.h struct amp_mgr *amp_mgr_get(struct amp_mgr *mgr); mgr 128 net/bluetooth/a2mp.h int amp_mgr_put(struct amp_mgr *mgr); mgr 133 net/bluetooth/a2mp.h static inline int amp_mgr_put(struct amp_mgr *mgr) mgr 43 net/bluetooth/amp.c struct amp_ctrl *amp_ctrl_add(struct amp_mgr *mgr, u8 id) mgr 54 net/bluetooth/amp.c mutex_lock(&mgr->amp_ctrls_lock); mgr 55 net/bluetooth/amp.c list_add(&ctrl->list, &mgr->amp_ctrls); mgr 56 net/bluetooth/amp.c mutex_unlock(&mgr->amp_ctrls_lock); mgr 58 net/bluetooth/amp.c BT_DBG("mgr %p ctrl %p", mgr, ctrl); mgr 63 net/bluetooth/amp.c void amp_ctrl_list_flush(struct amp_mgr *mgr) mgr 67 net/bluetooth/amp.c BT_DBG("mgr %p", mgr); mgr 69 net/bluetooth/amp.c mutex_lock(&mgr->amp_ctrls_lock); mgr 70 net/bluetooth/amp.c list_for_each_entry_safe(ctrl, n, &mgr->amp_ctrls, list) { mgr 74 net/bluetooth/amp.c mutex_unlock(&mgr->amp_ctrls_lock); mgr 77 net/bluetooth/amp.c struct amp_ctrl *amp_ctrl_lookup(struct amp_mgr *mgr, u8 id) mgr 81 net/bluetooth/amp.c BT_DBG("mgr %p id %d", mgr, id); mgr 83 net/bluetooth/amp.c mutex_lock(&mgr->amp_ctrls_lock); mgr 84 net/bluetooth/amp.c list_for_each_entry(ctrl, &mgr->amp_ctrls, list) { mgr 87 net/bluetooth/amp.c mutex_unlock(&mgr->amp_ctrls_lock); mgr 91 net/bluetooth/amp.c mutex_unlock(&mgr->amp_ctrls_lock); mgr 97 net/bluetooth/amp.c static u8 __next_handle(struct amp_mgr *mgr) mgr 99 net/bluetooth/amp.c if (++mgr->handle == 0) mgr 100 net/bluetooth/amp.c mgr->handle = 1; mgr 102 net/bluetooth/amp.c return mgr->handle; mgr 105 net/bluetooth/amp.c struct hci_conn *phylink_add(struct hci_dev *hdev, struct amp_mgr *mgr, mgr 108 net/bluetooth/amp.c bdaddr_t *dst = &mgr->l2cap_conn->hcon->dst; mgr 120 net/bluetooth/amp.c hcon->handle = __next_handle(mgr); mgr 122 net/bluetooth/amp.c hcon->amp_mgr = amp_mgr_get(mgr); mgr 273 net/bluetooth/amp.c void amp_read_loc_assoc(struct hci_dev *hdev, struct amp_mgr *mgr) mgr 284 net/bluetooth/amp.c set_bit(READ_LOC_AMP_ASSOC, &mgr->state); mgr 296 net/bluetooth/amp.c struct amp_mgr *mgr = hcon->amp_mgr; mgr 304 net/bluetooth/amp.c set_bit(READ_LOC_AMP_ASSOC_FINAL, &mgr->state); mgr 333 net/bluetooth/amp.c struct amp_mgr *mgr = hcon->amp_mgr; mgr 338 net/bluetooth/amp.c ctrl = amp_ctrl_lookup(mgr, hcon->remote_id); mgr 438 net/bluetooth/amp.c void amp_create_phylink(struct hci_dev *hdev, struct amp_mgr *mgr, mgr 449 net/bluetooth/amp.c if (phylink_gen_key(mgr->l2cap_conn->hcon, cp.key, &cp.key_len, mgr 477 net/bluetooth/amp.c void amp_accept_phylink(struct hci_dev *hdev, struct amp_mgr *mgr, mgr 488 net/bluetooth/amp.c if (phylink_gen_key(mgr->l2cap_conn->hcon, cp.key, &cp.key_len, mgr 502 net/bluetooth/amp.c struct amp_mgr *mgr = hs_hcon->amp_mgr; mgr 505 net/bluetooth/amp.c BT_DBG("bredr_hcon %p hs_hcon %p mgr %p", bredr_hcon, hs_hcon, mgr); mgr 507 net/bluetooth/amp.c if (!bredr_hdev || !mgr || !mgr->bredr_chan) mgr 510 net/bluetooth/amp.c bredr_chan = mgr->bredr_chan; mgr 22 net/bluetooth/amp.h struct amp_ctrl *amp_ctrl_add(struct amp_mgr *mgr, u8 id); mgr 23 net/bluetooth/amp.h struct amp_ctrl *amp_ctrl_lookup(struct amp_mgr *mgr, u8 id); mgr 24 net/bluetooth/amp.h void amp_ctrl_list_flush(struct amp_mgr *mgr); mgr 26 net/bluetooth/amp.h struct hci_conn *phylink_add(struct hci_dev *hdev, struct amp_mgr *mgr, mgr 31 net/bluetooth/amp.h void amp_read_loc_info(struct hci_dev *hdev, struct amp_mgr *mgr); mgr 33 net/bluetooth/amp.h void amp_read_loc_assoc(struct hci_dev *hdev, struct amp_mgr *mgr); mgr 36 net/bluetooth/amp.h void amp_create_phylink(struct hci_dev *hdev, struct amp_mgr *mgr, mgr 38 net/bluetooth/amp.h void amp_accept_phylink(struct hci_dev *hdev, struct amp_mgr *mgr, mgr 4822 net/bluetooth/hci_event.c struct amp_mgr *mgr; mgr 4841 net/bluetooth/hci_event.c mgr = hcon->amp_mgr; mgr 4842 net/bluetooth/hci_event.c if (mgr && mgr->bredr_chan) { mgr 4843 net/bluetooth/hci_event.c struct l2cap_chan *bredr_chan = mgr->bredr_chan; mgr 606 net/bluetooth/l2cap_core.c struct amp_mgr *mgr = conn->hcon->amp_mgr; mgr 622 net/bluetooth/l2cap_core.c if (mgr && mgr->bredr_chan == chan) mgr 623 net/bluetooth/l2cap_core.c mgr->bredr_chan = NULL; mgr 4579 net/bluetooth/l2cap_core.c struct amp_mgr *mgr = conn->hcon->amp_mgr; mgr 4591 net/bluetooth/l2cap_core.c BT_DBG("mgr %p bredr_chan %p hs_hcon %p", mgr, chan, hs_hcon); mgr 4593 net/bluetooth/l2cap_core.c mgr->bredr_chan = chan; mgr 673 security/security.c int security_binder_set_context_mgr(struct task_struct *mgr) mgr 675 security/security.c return call_int_hook(binder_set_context_mgr, 0, mgr); mgr 2045 security/selinux/hooks.c static int selinux_binder_set_context_mgr(struct task_struct *mgr) mgr 2048 security/selinux/hooks.c u32 mgrsid = task_sid(mgr); mgr 198 sound/pci/ctxfi/ctamixer.c struct amixer_mgr *mgr) mgr 203 sound/pci/ctxfi/ctamixer.c AMIXER, desc->msr, mgr->mgr.hw); mgr 228 sound/pci/ctxfi/ctamixer.c static int get_amixer_rsc(struct amixer_mgr *mgr, mgr 247 sound/pci/ctxfi/ctamixer.c spin_lock_irqsave(&mgr->mgr_lock, flags); mgr 249 sound/pci/ctxfi/ctamixer.c err = mgr_get_resource(&mgr->mgr, 1, &idx); mgr 255 sound/pci/ctxfi/ctamixer.c spin_unlock_irqrestore(&mgr->mgr_lock, flags); mgr 257 sound/pci/ctxfi/ctamixer.c dev_err(mgr->card->dev, mgr 262 sound/pci/ctxfi/ctamixer.c err = amixer_rsc_init(amixer, desc, mgr); mgr 271 sound/pci/ctxfi/ctamixer.c spin_lock_irqsave(&mgr->mgr_lock, flags); mgr 273 sound/pci/ctxfi/ctamixer.c mgr_put_resource(&mgr->mgr, 1, amixer->idx[i]); mgr 275 sound/pci/ctxfi/ctamixer.c spin_unlock_irqrestore(&mgr->mgr_lock, flags); mgr 280 sound/pci/ctxfi/ctamixer.c static int put_amixer_rsc(struct amixer_mgr *mgr, struct amixer *amixer) mgr 285 sound/pci/ctxfi/ctamixer.c spin_lock_irqsave(&mgr->mgr_lock, flags); mgr 287 sound/pci/ctxfi/ctamixer.c mgr_put_resource(&mgr->mgr, 1, amixer->idx[i]); mgr 289 sound/pci/ctxfi/ctamixer.c spin_unlock_irqrestore(&mgr->mgr_lock, flags); mgr 306 sound/pci/ctxfi/ctamixer.c err = rsc_mgr_init(&amixer_mgr->mgr, AMIXER, AMIXER_RESOURCE_NUM, hw); mgr 327 sound/pci/ctxfi/ctamixer.c rsc_mgr_uninit(&amixer_mgr->mgr); mgr 365 sound/pci/ctxfi/ctamixer.c struct sum_mgr *mgr) mgr 369 sound/pci/ctxfi/ctamixer.c err = rsc_init(&sum->rsc, sum->idx[0], SUM, desc->msr, mgr->mgr.hw); mgr 384 sound/pci/ctxfi/ctamixer.c static int get_sum_rsc(struct sum_mgr *mgr, mgr 402 sound/pci/ctxfi/ctamixer.c spin_lock_irqsave(&mgr->mgr_lock, flags); mgr 404 sound/pci/ctxfi/ctamixer.c err = mgr_get_resource(&mgr->mgr, 1, &idx); mgr 410 sound/pci/ctxfi/ctamixer.c spin_unlock_irqrestore(&mgr->mgr_lock, flags); mgr 412 sound/pci/ctxfi/ctamixer.c dev_err(mgr->card->dev, mgr 417 sound/pci/ctxfi/ctamixer.c err = sum_rsc_init(sum, desc, mgr); mgr 426 sound/pci/ctxfi/ctamixer.c spin_lock_irqsave(&mgr->mgr_lock, flags); mgr 428 sound/pci/ctxfi/ctamixer.c mgr_put_resource(&mgr->mgr, 1, sum->idx[i]); mgr 430 sound/pci/ctxfi/ctamixer.c spin_unlock_irqrestore(&mgr->mgr_lock, flags); mgr 435 sound/pci/ctxfi/ctamixer.c static int put_sum_rsc(struct sum_mgr *mgr, struct sum *sum) mgr 440 sound/pci/ctxfi/ctamixer.c spin_lock_irqsave(&mgr->mgr_lock, flags); mgr 442 sound/pci/ctxfi/ctamixer.c mgr_put_resource(&mgr->mgr, 1, sum->idx[i]); mgr 444 sound/pci/ctxfi/ctamixer.c spin_unlock_irqrestore(&mgr->mgr_lock, flags); mgr 461 sound/pci/ctxfi/ctamixer.c err = rsc_mgr_init(&sum_mgr->mgr, SUM, SUM_RESOURCE_NUM, hw); mgr 482 sound/pci/ctxfi/ctamixer.c rsc_mgr_uninit(&sum_mgr->mgr); mgr 34 sound/pci/ctxfi/ctamixer.h struct rsc_mgr mgr; /* Basic resource manager info */ mgr 39 sound/pci/ctxfi/ctamixer.h int (*get_sum)(struct sum_mgr *mgr, mgr 42 sound/pci/ctxfi/ctamixer.h int (*put_sum)(struct sum_mgr *mgr, struct sum *sum); mgr 79 sound/pci/ctxfi/ctamixer.h struct rsc_mgr mgr; /* Basic resource manager info */ mgr 84 sound/pci/ctxfi/ctamixer.h int (*get_amixer)(struct amixer_mgr *mgr, mgr 88 sound/pci/ctxfi/ctamixer.h int (*put_amixer)(struct amixer_mgr *mgr, struct amixer *amixer); mgr 111 sound/pci/ctxfi/ctatc.c int (*destroy)(void *mgr); mgr 173 sound/pci/ctxfi/ctdaio.c dao->mgr->imap_add(dao->mgr, entry); mgr 202 sound/pci/ctxfi/ctdaio.c dao->mgr->imap_add(dao->mgr, entry); mgr 224 sound/pci/ctxfi/ctdaio.c dao->mgr->imap_delete(dao->mgr, entry); mgr 228 sound/pci/ctxfi/ctdaio.c dao->mgr->imap_delete(dao->mgr, entry); mgr 248 sound/pci/ctxfi/ctdaio.c dao->mgr->imap_delete(dao->mgr, entry); mgr 252 sound/pci/ctxfi/ctdaio.c dao->mgr->imap_delete(dao->mgr, entry); mgr 387 sound/pci/ctxfi/ctdaio.c struct daio_mgr *mgr) mgr 389 sound/pci/ctxfi/ctdaio.c struct hw *hw = mgr->mgr.hw; mgr 393 sound/pci/ctxfi/ctdaio.c err = daio_rsc_init(&dao->daio, desc, mgr->mgr.hw); mgr 404 sound/pci/ctxfi/ctdaio.c dao->mgr = mgr; mgr 410 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_dsb_dao(mgr->mgr.ctrl_blk, mgr 412 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_commit_write(hw, mgr->mgr.ctrl_blk); mgr 415 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_dao_init(mgr->mgr.ctrl_blk, mgr 417 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_enb_dao(mgr->mgr.ctrl_blk, mgr 419 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_commit_write(hw, mgr->mgr.ctrl_blk); mgr 452 sound/pci/ctxfi/ctdaio.c struct daio_mgr *mgr = dao->mgr; mgr 459 sound/pci/ctxfi/ctdaio.c return dao_rsc_init(dao, &dsc, mgr); mgr 464 sound/pci/ctxfi/ctdaio.c struct daio_mgr *mgr) mgr 467 sound/pci/ctxfi/ctdaio.c struct hw *hw = mgr->mgr.hw; mgr 470 sound/pci/ctxfi/ctdaio.c err = daio_rsc_init(&dai->daio, desc, mgr->mgr.hw); mgr 475 sound/pci/ctxfi/ctdaio.c dai->hw = mgr->mgr.hw; mgr 506 sound/pci/ctxfi/ctdaio.c static int daio_mgr_get_rsc(struct rsc_mgr *mgr, enum DAIOTYP type) mgr 508 sound/pci/ctxfi/ctdaio.c if (((struct daio_usage *)mgr->rscs)->data & (0x1 << type)) mgr 511 sound/pci/ctxfi/ctdaio.c ((struct daio_usage *)mgr->rscs)->data |= (0x1 << type); mgr 516 sound/pci/ctxfi/ctdaio.c static int daio_mgr_put_rsc(struct rsc_mgr *mgr, enum DAIOTYP type) mgr 518 sound/pci/ctxfi/ctdaio.c ((struct daio_usage *)mgr->rscs)->data &= ~(0x1 << type); mgr 523 sound/pci/ctxfi/ctdaio.c static int get_daio_rsc(struct daio_mgr *mgr, mgr 533 sound/pci/ctxfi/ctdaio.c spin_lock_irqsave(&mgr->mgr_lock, flags); mgr 534 sound/pci/ctxfi/ctdaio.c err = daio_mgr_get_rsc(&mgr->mgr, desc->type); mgr 535 sound/pci/ctxfi/ctdaio.c spin_unlock_irqrestore(&mgr->mgr_lock, flags); mgr 537 sound/pci/ctxfi/ctdaio.c dev_err(mgr->card->dev, mgr 549 sound/pci/ctxfi/ctdaio.c err = dao_rsc_init(dao, desc, mgr); mgr 561 sound/pci/ctxfi/ctdaio.c err = dai_rsc_init(dai, desc, mgr); mgr 570 sound/pci/ctxfi/ctdaio.c mgr->daio_enable(mgr, *rdaio); mgr 571 sound/pci/ctxfi/ctdaio.c mgr->commit_write(mgr); mgr 576 sound/pci/ctxfi/ctdaio.c spin_lock_irqsave(&mgr->mgr_lock, flags); mgr 577 sound/pci/ctxfi/ctdaio.c daio_mgr_put_rsc(&mgr->mgr, desc->type); mgr 578 sound/pci/ctxfi/ctdaio.c spin_unlock_irqrestore(&mgr->mgr_lock, flags); mgr 582 sound/pci/ctxfi/ctdaio.c static int put_daio_rsc(struct daio_mgr *mgr, struct daio *daio) mgr 586 sound/pci/ctxfi/ctdaio.c mgr->daio_disable(mgr, daio); mgr 587 sound/pci/ctxfi/ctdaio.c mgr->commit_write(mgr); mgr 589 sound/pci/ctxfi/ctdaio.c spin_lock_irqsave(&mgr->mgr_lock, flags); mgr 590 sound/pci/ctxfi/ctdaio.c daio_mgr_put_rsc(&mgr->mgr, daio->type); mgr 591 sound/pci/ctxfi/ctdaio.c spin_unlock_irqrestore(&mgr->mgr_lock, flags); mgr 604 sound/pci/ctxfi/ctdaio.c static int daio_mgr_enb_daio(struct daio_mgr *mgr, struct daio *daio) mgr 606 sound/pci/ctxfi/ctdaio.c struct hw *hw = mgr->mgr.hw; mgr 609 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_enb_dao(mgr->mgr.ctrl_blk, mgr 612 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_enb_dai(mgr->mgr.ctrl_blk, mgr 618 sound/pci/ctxfi/ctdaio.c static int daio_mgr_dsb_daio(struct daio_mgr *mgr, struct daio *daio) mgr 620 sound/pci/ctxfi/ctdaio.c struct hw *hw = mgr->mgr.hw; mgr 623 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_dsb_dao(mgr->mgr.ctrl_blk, mgr 626 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_dsb_dai(mgr->mgr.ctrl_blk, mgr 634 sound/pci/ctxfi/ctdaio.c struct rsc_mgr *mgr = &((struct daio_mgr *)data)->mgr; mgr 635 sound/pci/ctxfi/ctdaio.c struct hw *hw = mgr->hw; mgr 637 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_set_imaparc(mgr->ctrl_blk, entry->slot); mgr 638 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_set_imapnxt(mgr->ctrl_blk, entry->next); mgr 639 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_set_imapaddr(mgr->ctrl_blk, entry->addr); mgr 640 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_commit_write(mgr->hw, mgr->ctrl_blk); mgr 645 sound/pci/ctxfi/ctdaio.c static int daio_imap_add(struct daio_mgr *mgr, struct imapper *entry) mgr 650 sound/pci/ctxfi/ctdaio.c spin_lock_irqsave(&mgr->imap_lock, flags); mgr 651 sound/pci/ctxfi/ctdaio.c if (!entry->addr && mgr->init_imap_added) { mgr 652 sound/pci/ctxfi/ctdaio.c input_mapper_delete(&mgr->imappers, mgr->init_imap, mgr 653 sound/pci/ctxfi/ctdaio.c daio_map_op, mgr); mgr 654 sound/pci/ctxfi/ctdaio.c mgr->init_imap_added = 0; mgr 656 sound/pci/ctxfi/ctdaio.c err = input_mapper_add(&mgr->imappers, entry, daio_map_op, mgr); mgr 657 sound/pci/ctxfi/ctdaio.c spin_unlock_irqrestore(&mgr->imap_lock, flags); mgr 662 sound/pci/ctxfi/ctdaio.c static int daio_imap_delete(struct daio_mgr *mgr, struct imapper *entry) mgr 667 sound/pci/ctxfi/ctdaio.c spin_lock_irqsave(&mgr->imap_lock, flags); mgr 668 sound/pci/ctxfi/ctdaio.c err = input_mapper_delete(&mgr->imappers, entry, daio_map_op, mgr); mgr 669 sound/pci/ctxfi/ctdaio.c if (list_empty(&mgr->imappers)) { mgr 670 sound/pci/ctxfi/ctdaio.c input_mapper_add(&mgr->imappers, mgr->init_imap, mgr 671 sound/pci/ctxfi/ctdaio.c daio_map_op, mgr); mgr 672 sound/pci/ctxfi/ctdaio.c mgr->init_imap_added = 1; mgr 674 sound/pci/ctxfi/ctdaio.c spin_unlock_irqrestore(&mgr->imap_lock, flags); mgr 679 sound/pci/ctxfi/ctdaio.c static int daio_mgr_commit_write(struct daio_mgr *mgr) mgr 681 sound/pci/ctxfi/ctdaio.c struct hw *hw = mgr->mgr.hw; mgr 683 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_commit_write(hw, mgr->mgr.ctrl_blk); mgr 698 sound/pci/ctxfi/ctdaio.c err = rsc_mgr_init(&daio_mgr->mgr, DAIO, NUM_DAIOTYP, hw); mgr 725 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_dsb_dao(daio_mgr->mgr.ctrl_blk, i); mgr 726 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_dsb_dai(daio_mgr->mgr.ctrl_blk, i); mgr 728 sound/pci/ctxfi/ctdaio.c hw->daio_mgr_commit_write(hw, daio_mgr->mgr.ctrl_blk); mgr 735 sound/pci/ctxfi/ctdaio.c rsc_mgr_uninit(&daio_mgr->mgr); mgr 750 sound/pci/ctxfi/ctdaio.c rsc_mgr_uninit(&daio_mgr->mgr); mgr 52 sound/pci/ctxfi/ctdaio.h struct daio_mgr *mgr; mgr 97 sound/pci/ctxfi/ctdaio.h struct rsc_mgr mgr; /* Basic resource manager info */ mgr 106 sound/pci/ctxfi/ctdaio.h int (*get_daio)(struct daio_mgr *mgr, mgr 109 sound/pci/ctxfi/ctdaio.h int (*put_daio)(struct daio_mgr *mgr, struct daio *daio); mgr 110 sound/pci/ctxfi/ctdaio.h int (*daio_enable)(struct daio_mgr *mgr, struct daio *daio); mgr 111 sound/pci/ctxfi/ctdaio.h int (*daio_disable)(struct daio_mgr *mgr, struct daio *daio); mgr 112 sound/pci/ctxfi/ctdaio.h int (*imap_add)(struct daio_mgr *mgr, struct imapper *entry); mgr 113 sound/pci/ctxfi/ctdaio.h int (*imap_delete)(struct daio_mgr *mgr, struct imapper *entry); mgr 114 sound/pci/ctxfi/ctdaio.h int (*commit_write)(struct daio_mgr *mgr); mgr 73 sound/pci/ctxfi/ctresource.c int mgr_get_resource(struct rsc_mgr *mgr, unsigned int n, unsigned int *ridx) mgr 77 sound/pci/ctxfi/ctresource.c if (n > mgr->avail) mgr 80 sound/pci/ctxfi/ctresource.c err = get_resource(mgr->rscs, mgr->amount, n, ridx); mgr 82 sound/pci/ctxfi/ctresource.c mgr->avail -= n; mgr 87 sound/pci/ctxfi/ctresource.c int mgr_put_resource(struct rsc_mgr *mgr, unsigned int n, unsigned int idx) mgr 89 sound/pci/ctxfi/ctresource.c put_resource(mgr->rscs, n, idx); mgr 90 sound/pci/ctxfi/ctresource.c mgr->avail += n; mgr 205 sound/pci/ctxfi/ctresource.c int rsc_mgr_init(struct rsc_mgr *mgr, enum RSCTYP type, mgr 210 sound/pci/ctxfi/ctresource.c mgr->type = NUM_RSCTYP; mgr 212 sound/pci/ctxfi/ctresource.c mgr->rscs = kzalloc(((amount + 8 - 1) / 8), GFP_KERNEL); mgr 213 sound/pci/ctxfi/ctresource.c if (!mgr->rscs) mgr 218 sound/pci/ctxfi/ctresource.c err = hw->src_mgr_get_ctrl_blk(&mgr->ctrl_blk); mgr 221 sound/pci/ctxfi/ctresource.c err = hw->srcimp_mgr_get_ctrl_blk(&mgr->ctrl_blk); mgr 224 sound/pci/ctxfi/ctresource.c err = hw->amixer_mgr_get_ctrl_blk(&mgr->ctrl_blk); mgr 227 sound/pci/ctxfi/ctresource.c err = hw->daio_mgr_get_ctrl_blk(hw, &mgr->ctrl_blk); mgr 244 sound/pci/ctxfi/ctresource.c mgr->type = type; mgr 245 sound/pci/ctxfi/ctresource.c mgr->avail = mgr->amount = amount; mgr 246 sound/pci/ctxfi/ctresource.c mgr->hw = hw; mgr 251 sound/pci/ctxfi/ctresource.c kfree(mgr->rscs); mgr 255 sound/pci/ctxfi/ctresource.c int rsc_mgr_uninit(struct rsc_mgr *mgr) mgr 257 sound/pci/ctxfi/ctresource.c kfree(mgr->rscs); mgr 258 sound/pci/ctxfi/ctresource.c mgr->rscs = NULL; mgr 260 sound/pci/ctxfi/ctresource.c if ((NULL != mgr->hw) && (NULL != mgr->ctrl_blk)) { mgr 261 sound/pci/ctxfi/ctresource.c switch (mgr->type) { mgr 263 sound/pci/ctxfi/ctresource.c mgr->hw->src_mgr_put_ctrl_blk(mgr->ctrl_blk); mgr 266 sound/pci/ctxfi/ctresource.c mgr->hw->srcimp_mgr_put_ctrl_blk(mgr->ctrl_blk); mgr 269 sound/pci/ctxfi/ctresource.c mgr->hw->amixer_mgr_put_ctrl_blk(mgr->ctrl_blk); mgr 272 sound/pci/ctxfi/ctresource.c mgr->hw->daio_mgr_put_ctrl_blk(mgr->ctrl_blk); mgr 277 sound/pci/ctxfi/ctresource.c dev_err(((struct hw *)mgr->hw)->card->dev, mgr 279 sound/pci/ctxfi/ctresource.c mgr->type); mgr 283 sound/pci/ctxfi/ctresource.c mgr->hw = mgr->ctrl_blk = NULL; mgr 286 sound/pci/ctxfi/ctresource.c mgr->type = NUM_RSCTYP; mgr 287 sound/pci/ctxfi/ctresource.c mgr->avail = mgr->amount = 0; mgr 63 sound/pci/ctxfi/ctresource.h int rsc_mgr_init(struct rsc_mgr *mgr, enum RSCTYP type, mgr 65 sound/pci/ctxfi/ctresource.h int rsc_mgr_uninit(struct rsc_mgr *mgr); mgr 66 sound/pci/ctxfi/ctresource.h int mgr_get_resource(struct rsc_mgr *mgr, unsigned int n, unsigned int *ridx); mgr 67 sound/pci/ctxfi/ctresource.h int mgr_put_resource(struct rsc_mgr *mgr, unsigned int n, unsigned int idx); mgr 357 sound/pci/ctxfi/ctsrc.c const struct src_desc *desc, struct src_mgr *mgr) mgr 365 sound/pci/ctxfi/ctsrc.c err = rsc_init(&p->rsc, idx + i, SRC, desc->msr, mgr->mgr.hw); mgr 374 sound/pci/ctxfi/ctsrc.c mgr->src_enable(mgr, p); mgr 379 sound/pci/ctxfi/ctsrc.c mgr->commit_write(mgr); mgr 385 sound/pci/ctxfi/ctsrc.c mgr->src_disable(mgr, p); mgr 388 sound/pci/ctxfi/ctsrc.c mgr->commit_write(mgr); mgr 392 sound/pci/ctxfi/ctsrc.c static int src_rsc_uninit(struct src *src, struct src_mgr *mgr) mgr 399 sound/pci/ctxfi/ctsrc.c mgr->src_disable(mgr, p); mgr 406 sound/pci/ctxfi/ctsrc.c mgr->commit_write(mgr); mgr 412 sound/pci/ctxfi/ctsrc.c get_src_rsc(struct src_mgr *mgr, const struct src_desc *desc, struct src **rsrc) mgr 422 sound/pci/ctxfi/ctsrc.c spin_lock_irqsave(&mgr->mgr_lock, flags); mgr 424 sound/pci/ctxfi/ctsrc.c err = mgr_get_resource(&mgr->mgr, desc->multi, &idx); mgr 426 sound/pci/ctxfi/ctsrc.c err = mgr_get_resource(&mgr->mgr, 1, &idx); mgr 428 sound/pci/ctxfi/ctsrc.c spin_unlock_irqrestore(&mgr->mgr_lock, flags); mgr 430 sound/pci/ctxfi/ctsrc.c dev_err(mgr->card->dev, mgr 446 sound/pci/ctxfi/ctsrc.c err = src_rsc_init(src, idx, desc, mgr); mgr 457 sound/pci/ctxfi/ctsrc.c spin_lock_irqsave(&mgr->mgr_lock, flags); mgr 459 sound/pci/ctxfi/ctsrc.c mgr_put_resource(&mgr->mgr, desc->multi, idx); mgr 461 sound/pci/ctxfi/ctsrc.c mgr_put_resource(&mgr->mgr, 1, idx); mgr 463 sound/pci/ctxfi/ctsrc.c spin_unlock_irqrestore(&mgr->mgr_lock, flags); mgr 467 sound/pci/ctxfi/ctsrc.c static int put_src_rsc(struct src_mgr *mgr, struct src *src) mgr 471 sound/pci/ctxfi/ctsrc.c spin_lock_irqsave(&mgr->mgr_lock, flags); mgr 474 sound/pci/ctxfi/ctsrc.c mgr_put_resource(&mgr->mgr, src->multi, mgr 477 sound/pci/ctxfi/ctsrc.c mgr_put_resource(&mgr->mgr, 1, src->rsc.ops->index(&src->rsc)); mgr 479 sound/pci/ctxfi/ctsrc.c spin_unlock_irqrestore(&mgr->mgr_lock, flags); mgr 480 sound/pci/ctxfi/ctsrc.c src_rsc_uninit(src, mgr); mgr 486 sound/pci/ctxfi/ctsrc.c static int src_enable_s(struct src_mgr *mgr, struct src *src) mgr 488 sound/pci/ctxfi/ctsrc.c struct hw *hw = mgr->mgr.hw; mgr 493 sound/pci/ctxfi/ctsrc.c hw->src_mgr_enbs_src(mgr->mgr.ctrl_blk, mgr 502 sound/pci/ctxfi/ctsrc.c static int src_enable(struct src_mgr *mgr, struct src *src) mgr 504 sound/pci/ctxfi/ctsrc.c struct hw *hw = mgr->mgr.hw; mgr 509 sound/pci/ctxfi/ctsrc.c hw->src_mgr_enb_src(mgr->mgr.ctrl_blk, mgr 518 sound/pci/ctxfi/ctsrc.c static int src_disable(struct src_mgr *mgr, struct src *src) mgr 520 sound/pci/ctxfi/ctsrc.c struct hw *hw = mgr->mgr.hw; mgr 525 sound/pci/ctxfi/ctsrc.c hw->src_mgr_dsb_src(mgr->mgr.ctrl_blk, mgr 534 sound/pci/ctxfi/ctsrc.c static int src_mgr_commit_write(struct src_mgr *mgr) mgr 536 sound/pci/ctxfi/ctsrc.c struct hw *hw = mgr->mgr.hw; mgr 538 sound/pci/ctxfi/ctsrc.c hw->src_mgr_commit_write(hw, mgr->mgr.ctrl_blk); mgr 553 sound/pci/ctxfi/ctsrc.c err = rsc_mgr_init(&src_mgr->mgr, SRC, SRC_RESOURCE_NUM, hw); mgr 570 sound/pci/ctxfi/ctsrc.c hw->src_mgr_dsb_src(src_mgr->mgr.ctrl_blk, i); mgr 572 sound/pci/ctxfi/ctsrc.c hw->src_mgr_commit_write(hw, src_mgr->mgr.ctrl_blk); mgr 585 sound/pci/ctxfi/ctsrc.c rsc_mgr_uninit(&src_mgr->mgr); mgr 632 sound/pci/ctxfi/ctsrc.c srcimp->mgr->imap_add(srcimp->mgr, entry); mgr 652 sound/pci/ctxfi/ctsrc.c srcimp->mgr->imap_delete(srcimp->mgr, mgr 668 sound/pci/ctxfi/ctsrc.c struct srcimp_mgr *mgr) mgr 673 sound/pci/ctxfi/ctsrc.c SRCIMP, desc->msr, mgr->mgr.hw); mgr 688 sound/pci/ctxfi/ctsrc.c srcimp->mgr = mgr; mgr 704 sound/pci/ctxfi/ctsrc.c srcimp->mgr = NULL; mgr 710 sound/pci/ctxfi/ctsrc.c static int get_srcimp_rsc(struct srcimp_mgr *mgr, mgr 728 sound/pci/ctxfi/ctsrc.c spin_lock_irqsave(&mgr->mgr_lock, flags); mgr 730 sound/pci/ctxfi/ctsrc.c err = mgr_get_resource(&mgr->mgr, 1, &idx); mgr 736 sound/pci/ctxfi/ctsrc.c spin_unlock_irqrestore(&mgr->mgr_lock, flags); mgr 738 sound/pci/ctxfi/ctsrc.c dev_err(mgr->card->dev, mgr 743 sound/pci/ctxfi/ctsrc.c err = srcimp_rsc_init(srcimp, desc, mgr); mgr 752 sound/pci/ctxfi/ctsrc.c spin_lock_irqsave(&mgr->mgr_lock, flags); mgr 754 sound/pci/ctxfi/ctsrc.c mgr_put_resource(&mgr->mgr, 1, srcimp->idx[i]); mgr 756 sound/pci/ctxfi/ctsrc.c spin_unlock_irqrestore(&mgr->mgr_lock, flags); mgr 761 sound/pci/ctxfi/ctsrc.c static int put_srcimp_rsc(struct srcimp_mgr *mgr, struct srcimp *srcimp) mgr 766 sound/pci/ctxfi/ctsrc.c spin_lock_irqsave(&mgr->mgr_lock, flags); mgr 768 sound/pci/ctxfi/ctsrc.c mgr_put_resource(&mgr->mgr, 1, srcimp->idx[i]); mgr 770 sound/pci/ctxfi/ctsrc.c spin_unlock_irqrestore(&mgr->mgr_lock, flags); mgr 779 sound/pci/ctxfi/ctsrc.c struct rsc_mgr *mgr = &((struct srcimp_mgr *)data)->mgr; mgr 780 sound/pci/ctxfi/ctsrc.c struct hw *hw = mgr->hw; mgr 782 sound/pci/ctxfi/ctsrc.c hw->srcimp_mgr_set_imaparc(mgr->ctrl_blk, entry->slot); mgr 783 sound/pci/ctxfi/ctsrc.c hw->srcimp_mgr_set_imapuser(mgr->ctrl_blk, entry->user); mgr 784 sound/pci/ctxfi/ctsrc.c hw->srcimp_mgr_set_imapnxt(mgr->ctrl_blk, entry->next); mgr 785 sound/pci/ctxfi/ctsrc.c hw->srcimp_mgr_set_imapaddr(mgr->ctrl_blk, entry->addr); mgr 786 sound/pci/ctxfi/ctsrc.c hw->srcimp_mgr_commit_write(mgr->hw, mgr->ctrl_blk); mgr 791 sound/pci/ctxfi/ctsrc.c static int srcimp_imap_add(struct srcimp_mgr *mgr, struct imapper *entry) mgr 796 sound/pci/ctxfi/ctsrc.c spin_lock_irqsave(&mgr->imap_lock, flags); mgr 797 sound/pci/ctxfi/ctsrc.c if ((0 == entry->addr) && (mgr->init_imap_added)) { mgr 798 sound/pci/ctxfi/ctsrc.c input_mapper_delete(&mgr->imappers, mgr 799 sound/pci/ctxfi/ctsrc.c mgr->init_imap, srcimp_map_op, mgr); mgr 800 sound/pci/ctxfi/ctsrc.c mgr->init_imap_added = 0; mgr 802 sound/pci/ctxfi/ctsrc.c err = input_mapper_add(&mgr->imappers, entry, srcimp_map_op, mgr); mgr 803 sound/pci/ctxfi/ctsrc.c spin_unlock_irqrestore(&mgr->imap_lock, flags); mgr 808 sound/pci/ctxfi/ctsrc.c static int srcimp_imap_delete(struct srcimp_mgr *mgr, struct imapper *entry) mgr 813 sound/pci/ctxfi/ctsrc.c spin_lock_irqsave(&mgr->imap_lock, flags); mgr 814 sound/pci/ctxfi/ctsrc.c err = input_mapper_delete(&mgr->imappers, entry, srcimp_map_op, mgr); mgr 815 sound/pci/ctxfi/ctsrc.c if (list_empty(&mgr->imappers)) { mgr 816 sound/pci/ctxfi/ctsrc.c input_mapper_add(&mgr->imappers, mgr->init_imap, mgr 817 sound/pci/ctxfi/ctsrc.c srcimp_map_op, mgr); mgr 818 sound/pci/ctxfi/ctsrc.c mgr->init_imap_added = 1; mgr 820 sound/pci/ctxfi/ctsrc.c spin_unlock_irqrestore(&mgr->imap_lock, flags); mgr 836 sound/pci/ctxfi/ctsrc.c err = rsc_mgr_init(&srcimp_mgr->mgr, SRCIMP, SRCIMP_RESOURCE_NUM, hw); mgr 864 sound/pci/ctxfi/ctsrc.c rsc_mgr_uninit(&srcimp_mgr->mgr); mgr 879 sound/pci/ctxfi/ctsrc.c rsc_mgr_uninit(&srcimp_mgr->mgr); mgr 84 sound/pci/ctxfi/ctsrc.h struct rsc_mgr mgr; /* Basic resource manager info */ mgr 89 sound/pci/ctxfi/ctsrc.h int (*get_src)(struct src_mgr *mgr, mgr 92 sound/pci/ctxfi/ctsrc.h int (*put_src)(struct src_mgr *mgr, struct src *src); mgr 93 sound/pci/ctxfi/ctsrc.h int (*src_enable_s)(struct src_mgr *mgr, struct src *src); mgr 94 sound/pci/ctxfi/ctsrc.h int (*src_enable)(struct src_mgr *mgr, struct src *src); mgr 95 sound/pci/ctxfi/ctsrc.h int (*src_disable)(struct src_mgr *mgr, struct src *src); mgr 96 sound/pci/ctxfi/ctsrc.h int (*commit_write)(struct src_mgr *mgr); mgr 108 sound/pci/ctxfi/ctsrc.h struct srcimp_mgr *mgr; mgr 123 sound/pci/ctxfi/ctsrc.h struct rsc_mgr mgr; /* Basic resource manager info */ mgr 132 sound/pci/ctxfi/ctsrc.h int (*get_srcimp)(struct srcimp_mgr *mgr, mgr 136 sound/pci/ctxfi/ctsrc.h int (*put_srcimp)(struct srcimp_mgr *mgr, struct srcimp *srcimp); mgr 137 sound/pci/ctxfi/ctsrc.h int (*imap_add)(struct srcimp_mgr *mgr, struct imapper *entry); mgr 138 sound/pci/ctxfi/ctsrc.h int (*imap_delete)(struct srcimp_mgr *mgr, struct imapper *entry); mgr 59 sound/pci/mixart/mixart.c static int mixart_set_pipe_state(struct mixart_mgr *mgr, mgr 77 sound/pci/mixart/mixart.c dev_err(&mgr->pci->dev, mgr 91 sound/pci/mixart/mixart.c err = snd_mixart_send_msg_wait_notif(mgr, &request, system_msg_uid); mgr 93 sound/pci/mixart/mixart.c dev_err(&mgr->pci->dev, mgr 113 sound/pci/mixart/mixart.c err = snd_mixart_send_msg(mgr, &request, sizeof(group_state_resp), &group_state_resp); mgr 115 sound/pci/mixart/mixart.c dev_err(&mgr->pci->dev, mgr 126 sound/pci/mixart/mixart.c err = snd_mixart_send_msg(mgr, &request, sizeof(group_state_resp), &group_state_resp); mgr 128 sound/pci/mixart/mixart.c dev_err(&mgr->pci->dev, mgr 141 sound/pci/mixart/mixart.c err = snd_mixart_send_msg(mgr, &request, sizeof(stat), &stat); mgr 143 sound/pci/mixart/mixart.c dev_err(&mgr->pci->dev, mgr 158 sound/pci/mixart/mixart.c static int mixart_set_clock(struct mixart_mgr *mgr, mgr 177 sound/pci/mixart/mixart.c dev_err(&mgr->pci->dev, mgr 191 sound/pci/mixart/mixart.c dev_dbg(&mgr->pci->dev, "mixart_set_clock to %d kHz\n", rate); mgr 194 sound/pci/mixart/mixart.c request.uid = mgr->uid_console_manager; mgr 198 sound/pci/mixart/mixart.c err = snd_mixart_send_msg(mgr, &request, sizeof(clock_prop_resp), &clock_prop_resp); mgr 200 sound/pci/mixart/mixart.c dev_err(&mgr->pci->dev, mgr 290 sound/pci/mixart/mixart.c flowinfo = (struct mixart_flowinfo *)chip->mgr->flowinfo.area; mgr 291 sound/pci/mixart/mixart.c flowinfo[j].bufferinfo_array_phy_address = (u32)chip->mgr->bufferinfo.addr + (j * sizeof(struct mixart_bufferinfo)); mgr 294 sound/pci/mixart/mixart.c bufferinfo = (struct mixart_bufferinfo *)chip->mgr->bufferinfo.area; mgr 305 sound/pci/mixart/mixart.c err = snd_mixart_send_msg(chip->mgr, &request, sizeof(buf->sgroup_resp), &buf->sgroup_resp); mgr 329 sound/pci/mixart/mixart.c int snd_mixart_kill_ref_pipe(struct mixart_mgr *mgr, mgr 348 sound/pci/mixart/mixart.c err = mixart_set_clock( mgr, pipe, 0); mgr 350 sound/pci/mixart/mixart.c dev_err(&mgr->pci->dev, mgr 355 sound/pci/mixart/mixart.c err = mixart_set_pipe_state(mgr, pipe, 0); mgr 357 sound/pci/mixart/mixart.c dev_err(&mgr->pci->dev, "error stopping pipe!\n"); mgr 366 sound/pci/mixart/mixart.c err = snd_mixart_send_msg(mgr, &request, sizeof(delete_resp), &delete_resp); mgr 368 sound/pci/mixart/mixart.c dev_err(&mgr->pci->dev, mgr 410 sound/pci/mixart/mixart.c return snd_mixart_send_msg_nonblock(chip->mgr, &request); mgr 461 sound/pci/mixart/mixart.c static int mixart_sync_nonblock_events(struct mixart_mgr *mgr) mgr 464 sound/pci/mixart/mixart.c while (atomic_read(&mgr->msg_processed) > 0) { mgr 466 sound/pci/mixart/mixart.c dev_err(&mgr->pci->dev, mgr 487 sound/pci/mixart/mixart.c mixart_sync_nonblock_events(chip->mgr); mgr 491 sound/pci/mixart/mixart.c if(chip->mgr->ref_count_rate == 1) mgr 492 sound/pci/mixart/mixart.c chip->mgr->sample_rate = subs->runtime->rate; mgr 496 sound/pci/mixart/mixart.c if( mixart_set_clock(chip->mgr, stream->pipe, subs->runtime->rate) ) mgr 519 sound/pci/mixart/mixart.c stream_param.sampling_freq = chip->mgr->sample_rate; mgr 577 sound/pci/mixart/mixart.c err = snd_mixart_send_msg(chip->mgr, &request, sizeof(resp), &resp); mgr 595 sound/pci/mixart/mixart.c struct mixart_mgr *mgr = chip->mgr; mgr 607 sound/pci/mixart/mixart.c mutex_lock(&mgr->setup_mutex); mgr 623 sound/pci/mixart/mixart.c mutex_unlock(&mgr->setup_mutex); mgr 637 sound/pci/mixart/mixart.c bufferinfo = (struct mixart_bufferinfo *)chip->mgr->bufferinfo.area; mgr 648 sound/pci/mixart/mixart.c mutex_unlock(&mgr->setup_mutex); mgr 657 sound/pci/mixart/mixart.c mixart_sync_nonblock_events(chip->mgr); mgr 712 sound/pci/mixart/mixart.c struct mixart_mgr *mgr = chip->mgr; mgr 720 sound/pci/mixart/mixart.c mutex_lock(&mgr->setup_mutex); mgr 755 sound/pci/mixart/mixart.c err = mixart_set_pipe_state(chip->mgr, pipe, 1); mgr 758 sound/pci/mixart/mixart.c snd_mixart_kill_ref_pipe(chip->mgr, pipe, 0); mgr 775 sound/pci/mixart/mixart.c if(mgr->ref_count_rate++) { mgr 776 sound/pci/mixart/mixart.c if(mgr->sample_rate) { mgr 777 sound/pci/mixart/mixart.c runtime->hw.rate_min = runtime->hw.rate_max = mgr->sample_rate; mgr 782 sound/pci/mixart/mixart.c mutex_unlock(&mgr->setup_mutex); mgr 791 sound/pci/mixart/mixart.c struct mixart_mgr *mgr = chip->mgr; mgr 799 sound/pci/mixart/mixart.c mutex_lock(&mgr->setup_mutex); mgr 836 sound/pci/mixart/mixart.c err = mixart_set_pipe_state(chip->mgr, pipe, 1); mgr 839 sound/pci/mixart/mixart.c snd_mixart_kill_ref_pipe(chip->mgr, pipe, 0); mgr 856 sound/pci/mixart/mixart.c if(mgr->ref_count_rate++) { mgr 857 sound/pci/mixart/mixart.c if(mgr->sample_rate) { mgr 858 sound/pci/mixart/mixart.c runtime->hw.rate_min = runtime->hw.rate_max = mgr->sample_rate; mgr 863 sound/pci/mixart/mixart.c mutex_unlock(&mgr->setup_mutex); mgr 873 sound/pci/mixart/mixart.c struct mixart_mgr *mgr = chip->mgr; mgr 876 sound/pci/mixart/mixart.c mutex_lock(&mgr->setup_mutex); mgr 882 sound/pci/mixart/mixart.c if(--mgr->ref_count_rate == 0) { mgr 883 sound/pci/mixart/mixart.c mgr->sample_rate = 0; mgr 887 sound/pci/mixart/mixart.c if (snd_mixart_kill_ref_pipe(mgr, stream->pipe, 0 ) < 0) { mgr 898 sound/pci/mixart/mixart.c mutex_unlock(&mgr->setup_mutex); mgr 951 sound/pci/mixart/mixart.c snd_dma_pci_data(chip->mgr->pci), 32*1024, 32*1024); mgr 1034 sound/pci/mixart/mixart.c static int snd_mixart_create(struct mixart_mgr *mgr, struct snd_card *card, int idx) mgr 1048 sound/pci/mixart/mixart.c chip->mgr = mgr; mgr 1055 sound/pci/mixart/mixart.c mgr->chip[idx] = chip; mgr 1067 sound/pci/mixart/mixart.c if(chip->mgr->board_type == MIXART_DAUGHTER_TYPE_AES) { mgr 1080 sound/pci/mixart/mixart.c static int snd_mixart_free(struct mixart_mgr *mgr) mgr 1084 sound/pci/mixart/mixart.c for (i = 0; i < mgr->num_cards; i++) { mgr 1085 sound/pci/mixart/mixart.c if (mgr->chip[i]) mgr 1086 sound/pci/mixart/mixart.c snd_card_free(mgr->chip[i]->card); mgr 1090 sound/pci/mixart/mixart.c snd_mixart_exit_mailbox(mgr); mgr 1093 sound/pci/mixart/mixart.c if (mgr->irq >= 0) mgr 1094 sound/pci/mixart/mixart.c free_irq(mgr->irq, mgr); mgr 1097 sound/pci/mixart/mixart.c if(mgr->dsp_loaded) { mgr 1098 sound/pci/mixart/mixart.c snd_mixart_reset_board(mgr); mgr 1099 sound/pci/mixart/mixart.c dev_dbg(&mgr->pci->dev, "reset miXart !\n"); mgr 1104 sound/pci/mixart/mixart.c iounmap(mgr->mem[i].virt); mgr 1106 sound/pci/mixart/mixart.c pci_release_regions(mgr->pci); mgr 1109 sound/pci/mixart/mixart.c if(mgr->flowinfo.area) { mgr 1110 sound/pci/mixart/mixart.c snd_dma_free_pages(&mgr->flowinfo); mgr 1111 sound/pci/mixart/mixart.c mgr->flowinfo.area = NULL; mgr 1114 sound/pci/mixart/mixart.c if(mgr->bufferinfo.area) { mgr 1115 sound/pci/mixart/mixart.c snd_dma_free_pages(&mgr->bufferinfo); mgr 1116 sound/pci/mixart/mixart.c mgr->bufferinfo.area = NULL; mgr 1119 sound/pci/mixart/mixart.c pci_disable_device(mgr->pci); mgr 1120 sound/pci/mixart/mixart.c kfree(mgr); mgr 1136 sound/pci/mixart/mixart.c struct mixart_mgr *mgr = entry->private_data; mgr 1139 sound/pci/mixart/mixart.c if (copy_to_user_fromio(buf, MIXART_MEM(mgr, pos), count)) mgr 1152 sound/pci/mixart/mixart.c struct mixart_mgr *mgr = entry->private_data; mgr 1155 sound/pci/mixart/mixart.c if (copy_to_user_fromio(buf, MIXART_REG(mgr, pos), count)) mgr 1178 sound/pci/mixart/mixart.c if (chip->mgr->dsp_loaded & ( 1 << MIXART_MOTHERBOARD_ELF_INDEX)) { mgr 1180 sound/pci/mixart/mixart.c switch (chip->mgr->board_type ) { mgr 1191 sound/pci/mixart/mixart.c ref = readl_be( MIXART_MEM( chip->mgr, MIXART_PSEUDOREG_PERF_SYSTEM_LOAD_OFFSET)); mgr 1194 sound/pci/mixart/mixart.c u32 mailbox = 100 * readl_be( MIXART_MEM( chip->mgr, MIXART_PSEUDOREG_PERF_MAILBX_LOAD_OFFSET)) / ref; mgr 1195 sound/pci/mixart/mixart.c u32 streaming = 100 * readl_be( MIXART_MEM( chip->mgr, MIXART_PSEUDOREG_PERF_STREAM_LOAD_OFFSET)) / ref; mgr 1196 sound/pci/mixart/mixart.c u32 interr = 100 * readl_be( MIXART_MEM( chip->mgr, MIXART_PSEUDOREG_PERF_INTERR_LOAD_OFFSET)) / ref; mgr 1215 sound/pci/mixart/mixart.c entry->private_data = chip->mgr; mgr 1221 sound/pci/mixart/mixart.c entry->private_data = chip->mgr; mgr 1236 sound/pci/mixart/mixart.c struct mixart_mgr *mgr; mgr 1265 sound/pci/mixart/mixart.c mgr = kzalloc(sizeof(*mgr), GFP_KERNEL); mgr 1266 sound/pci/mixart/mixart.c if (! mgr) { mgr 1271 sound/pci/mixart/mixart.c mgr->pci = pci; mgr 1272 sound/pci/mixart/mixart.c mgr->irq = -1; mgr 1276 sound/pci/mixart/mixart.c kfree(mgr); mgr 1281 sound/pci/mixart/mixart.c mgr->mem[i].phys = pci_resource_start(pci, i); mgr 1282 sound/pci/mixart/mixart.c mgr->mem[i].virt = pci_ioremap_bar(pci, i); mgr 1283 sound/pci/mixart/mixart.c if (!mgr->mem[i].virt) { mgr 1285 sound/pci/mixart/mixart.c mgr->mem[i].phys); mgr 1286 sound/pci/mixart/mixart.c snd_mixart_free(mgr); mgr 1293 sound/pci/mixart/mixart.c KBUILD_MODNAME, mgr)) { mgr 1295 sound/pci/mixart/mixart.c snd_mixart_free(mgr); mgr 1298 sound/pci/mixart/mixart.c mgr->irq = pci->irq; mgr 1301 sound/pci/mixart/mixart.c mgr->msg_fifo_readptr = 0; mgr 1302 sound/pci/mixart/mixart.c mgr->msg_fifo_writeptr = 0; mgr 1304 sound/pci/mixart/mixart.c mutex_init(&mgr->lock); mgr 1305 sound/pci/mixart/mixart.c mutex_init(&mgr->msg_lock); mgr 1306 sound/pci/mixart/mixart.c init_waitqueue_head(&mgr->msg_sleep); mgr 1307 sound/pci/mixart/mixart.c atomic_set(&mgr->msg_processed, 0); mgr 1310 sound/pci/mixart/mixart.c mutex_init(&mgr->setup_mutex); mgr 1313 sound/pci/mixart/mixart.c mgr->num_cards = MIXART_MAX_CARDS; /* 4 FIXME: configurable? */ mgr 1314 sound/pci/mixart/mixart.c for (i = 0; i < mgr->num_cards; i++) { mgr 1329 sound/pci/mixart/mixart.c snd_mixart_free(mgr); mgr 1338 sound/pci/mixart/mixart.c mgr->mem[0].phys, mgr->mem[1].phys, mgr->irq, i); mgr 1340 sound/pci/mixart/mixart.c if ((err = snd_mixart_create(mgr, card, i)) < 0) { mgr 1342 sound/pci/mixart/mixart.c snd_mixart_free(mgr); mgr 1348 sound/pci/mixart/mixart.c snd_mixart_proc_init(mgr->chip[i]); mgr 1352 sound/pci/mixart/mixart.c snd_mixart_free(mgr); mgr 1358 sound/pci/mixart/mixart.c mgr->board_type = MIXART_DAUGHTER_TYPE_NONE; mgr 1364 sound/pci/mixart/mixart.c size, &mgr->flowinfo) < 0) { mgr 1365 sound/pci/mixart/mixart.c snd_mixart_free(mgr); mgr 1369 sound/pci/mixart/mixart.c memset(mgr->flowinfo.area, 0, size); mgr 1375 sound/pci/mixart/mixart.c size, &mgr->bufferinfo) < 0) { mgr 1376 sound/pci/mixart/mixart.c snd_mixart_free(mgr); mgr 1380 sound/pci/mixart/mixart.c memset(mgr->bufferinfo.area, 0, size); mgr 1383 sound/pci/mixart/mixart.c err = snd_mixart_setup_firmware(mgr); mgr 1385 sound/pci/mixart/mixart.c snd_mixart_free(mgr); mgr 1389 sound/pci/mixart/mixart.c pci_set_drvdata(pci, mgr); mgr 154 sound/pci/mixart/mixart.h struct mixart_mgr *mgr; mgr 205 sound/pci/mixart/mixart.h int snd_mixart_kill_ref_pipe(struct mixart_mgr *mgr, struct mixart_pipe *pipe, int monitoring); mgr 36 sound/pci/mixart/mixart_core.c static int retrieve_msg_frame(struct mixart_mgr *mgr, u32 *msg_frame) mgr 41 sound/pci/mixart/mixart_core.c tailptr = readl_be(MIXART_MEM(mgr, MSG_OUTBOUND_POST_TAIL)); mgr 42 sound/pci/mixart/mixart_core.c headptr = readl_be(MIXART_MEM(mgr, MSG_OUTBOUND_POST_HEAD)); mgr 52 sound/pci/mixart/mixart_core.c *msg_frame = readl_be(MIXART_MEM(mgr, tailptr)); mgr 58 sound/pci/mixart/mixart_core.c writel_be(tailptr, MIXART_MEM(mgr, MSG_OUTBOUND_POST_TAIL)); mgr 63 sound/pci/mixart/mixart_core.c static int get_msg(struct mixart_mgr *mgr, struct mixart_msg *resp, mgr 73 sound/pci/mixart/mixart_core.c mutex_lock(&mgr->msg_lock); mgr 77 sound/pci/mixart/mixart_core.c size = readl_be(MIXART_MEM(mgr, msg_frame_address)); /* size of descriptor + response */ mgr 78 sound/pci/mixart/mixart_core.c resp->message_id = readl_be(MIXART_MEM(mgr, msg_frame_address + 4)); /* dwMessageID */ mgr 79 sound/pci/mixart/mixart_core.c resp->uid.object_id = readl_be(MIXART_MEM(mgr, msg_frame_address + 8)); /* uidDest */ mgr 80 sound/pci/mixart/mixart_core.c resp->uid.desc = readl_be(MIXART_MEM(mgr, msg_frame_address + 12)); /* */ mgr 84 sound/pci/mixart/mixart_core.c dev_err(&mgr->pci->dev, mgr 90 sound/pci/mixart/mixart_core.c memcpy_fromio(resp->data, MIXART_MEM(mgr, msg_frame_address + MSG_HEADER_SIZE ), size); mgr 104 sound/pci/mixart/mixart_core.c headptr = readl_be(MIXART_MEM(mgr, MSG_OUTBOUND_FREE_HEAD)); mgr 112 sound/pci/mixart/mixart_core.c writel_be(msg_frame_address, MIXART_MEM(mgr, headptr)); mgr 119 sound/pci/mixart/mixart_core.c writel_be(headptr, MIXART_MEM(mgr, MSG_OUTBOUND_FREE_HEAD)); mgr 122 sound/pci/mixart/mixart_core.c mutex_unlock(&mgr->msg_lock); mgr 132 sound/pci/mixart/mixart_core.c static int send_msg( struct mixart_mgr *mgr, mgr 146 sound/pci/mixart/mixart_core.c tailptr = readl_be(MIXART_MEM(mgr, MSG_INBOUND_FREE_TAIL)); mgr 147 sound/pci/mixart/mixart_core.c headptr = readl_be(MIXART_MEM(mgr, MSG_INBOUND_FREE_HEAD)); mgr 150 sound/pci/mixart/mixart_core.c dev_err(&mgr->pci->dev, "error: no message frame available\n"); mgr 158 sound/pci/mixart/mixart_core.c msg_frame_address = readl_be(MIXART_MEM(mgr, tailptr)); mgr 159 sound/pci/mixart/mixart_core.c writel(0, MIXART_MEM(mgr, tailptr)); /* set address to zero on this fifo position */ mgr 166 sound/pci/mixart/mixart_core.c writel_be(tailptr, MIXART_MEM(mgr, MSG_INBOUND_FREE_TAIL)); mgr 171 sound/pci/mixart/mixart_core.c writel_be( msg->size + MSG_DESCRIPTOR_SIZE, MIXART_MEM(mgr, msg_frame_address) ); /* size of descriptor + request */ mgr 172 sound/pci/mixart/mixart_core.c writel_be( msg->message_id , MIXART_MEM(mgr, msg_frame_address + 4) ); /* dwMessageID */ mgr 173 sound/pci/mixart/mixart_core.c writel_be( msg->uid.object_id, MIXART_MEM(mgr, msg_frame_address + 8) ); /* uidDest */ mgr 174 sound/pci/mixart/mixart_core.c writel_be( msg->uid.desc, MIXART_MEM(mgr, msg_frame_address + 12) ); /* */ mgr 175 sound/pci/mixart/mixart_core.c writel_be( MSG_DESCRIPTOR_SIZE, MIXART_MEM(mgr, msg_frame_address + 16) ); /* SizeHeader */ mgr 176 sound/pci/mixart/mixart_core.c writel_be( MSG_DESCRIPTOR_SIZE, MIXART_MEM(mgr, msg_frame_address + 20) ); /* OffsetDLL_T16 */ mgr 177 sound/pci/mixart/mixart_core.c writel_be( msg->size, MIXART_MEM(mgr, msg_frame_address + 24) ); /* SizeDLL_T16 */ mgr 178 sound/pci/mixart/mixart_core.c writel_be( MSG_DESCRIPTOR_SIZE, MIXART_MEM(mgr, msg_frame_address + 28) ); /* OffsetDLL_DRV */ mgr 179 sound/pci/mixart/mixart_core.c writel_be( 0, MIXART_MEM(mgr, msg_frame_address + 32) ); /* SizeDLL_DRV */ mgr 180 sound/pci/mixart/mixart_core.c writel_be( MSG_DESCRIPTOR_SIZE + max_answersize, MIXART_MEM(mgr, msg_frame_address + 36) ); /* dwExpectedAnswerSize */ mgr 184 sound/pci/mixart/mixart_core.c writel_be( *(u32*)(msg->data + i), MIXART_MEM(mgr, MSG_HEADER_SIZE + msg_frame_address + i) ); mgr 190 sound/pci/mixart/mixart_core.c mgr->pending_event = *msg_event; mgr 194 sound/pci/mixart/mixart_core.c mgr->pending_event = msg_frame_address; mgr 205 sound/pci/mixart/mixart_core.c headptr = readl_be(MIXART_MEM(mgr, MSG_INBOUND_POST_HEAD)); mgr 211 sound/pci/mixart/mixart_core.c writel_be(msg_frame_address, MIXART_MEM(mgr, headptr)); mgr 218 sound/pci/mixart/mixart_core.c writel_be(headptr, MIXART_MEM(mgr, MSG_INBOUND_POST_HEAD)); mgr 224 sound/pci/mixart/mixart_core.c int snd_mixart_send_msg(struct mixart_mgr *mgr, struct mixart_msg *request, int max_resp_size, void *resp_data) mgr 234 sound/pci/mixart/mixart_core.c mutex_lock(&mgr->msg_lock); mgr 236 sound/pci/mixart/mixart_core.c err = send_msg(mgr, request, max_resp_size, 1, &msg_frame); /* send and mark the answer pending */ mgr 238 sound/pci/mixart/mixart_core.c mutex_unlock(&mgr->msg_lock); mgr 243 sound/pci/mixart/mixart_core.c add_wait_queue(&mgr->msg_sleep, &wait); mgr 244 sound/pci/mixart/mixart_core.c mutex_unlock(&mgr->msg_lock); mgr 246 sound/pci/mixart/mixart_core.c remove_wait_queue(&mgr->msg_sleep, &wait); mgr 250 sound/pci/mixart/mixart_core.c dev_err(&mgr->pci->dev, mgr 261 sound/pci/mixart/mixart_core.c err = get_msg(mgr, &resp, msg_frame); mgr 264 sound/pci/mixart/mixart_core.c dev_err(&mgr->pci->dev, "RESPONSE ERROR!\n"); mgr 270 sound/pci/mixart/mixart_core.c int snd_mixart_send_msg_wait_notif(struct mixart_mgr *mgr, mgr 286 sound/pci/mixart/mixart_core.c mutex_lock(&mgr->msg_lock); mgr 288 sound/pci/mixart/mixart_core.c err = send_msg(mgr, request, MSG_DEFAULT_SIZE, 1, ¬if_event); /* send and mark the notification event pending */ mgr 290 sound/pci/mixart/mixart_core.c mutex_unlock(&mgr->msg_lock); mgr 295 sound/pci/mixart/mixart_core.c add_wait_queue(&mgr->msg_sleep, &wait); mgr 296 sound/pci/mixart/mixart_core.c mutex_unlock(&mgr->msg_lock); mgr 298 sound/pci/mixart/mixart_core.c remove_wait_queue(&mgr->msg_sleep, &wait); mgr 302 sound/pci/mixart/mixart_core.c dev_err(&mgr->pci->dev, mgr 311 sound/pci/mixart/mixart_core.c int snd_mixart_send_msg_nonblock(struct mixart_mgr *mgr, struct mixart_msg *request) mgr 317 sound/pci/mixart/mixart_core.c mutex_lock(&mgr->msg_lock); mgr 318 sound/pci/mixart/mixart_core.c err = send_msg(mgr, request, MSG_DEFAULT_SIZE, 0, &message_frame); mgr 319 sound/pci/mixart/mixart_core.c mutex_unlock(&mgr->msg_lock); mgr 322 sound/pci/mixart/mixart_core.c atomic_inc(&mgr->msg_processed); mgr 332 sound/pci/mixart/mixart_core.c static void snd_mixart_process_msg(struct mixart_mgr *mgr) mgr 338 sound/pci/mixart/mixart_core.c while (mgr->msg_fifo_readptr != mgr->msg_fifo_writeptr) { mgr 339 sound/pci/mixart/mixart_core.c msg = mgr->msg_fifo[mgr->msg_fifo_readptr]; mgr 340 sound/pci/mixart/mixart_core.c mgr->msg_fifo_readptr++; mgr 341 sound/pci/mixart/mixart_core.c mgr->msg_fifo_readptr %= MSG_FIFO_SIZE; mgr 353 sound/pci/mixart/mixart_core.c err = get_msg(mgr, &resp, addr); mgr 355 sound/pci/mixart/mixart_core.c dev_err(&mgr->pci->dev, mgr 367 sound/pci/mixart/mixart_core.c dev_err(&mgr->pci->dev, mgr 372 sound/pci/mixart/mixart_core.c dev_dbg(&mgr->pci->dev, mgr 383 sound/pci/mixart/mixart_core.c dev_err(&mgr->pci->dev, mgr 389 sound/pci/mixart/mixart_core.c atomic_dec(&mgr->msg_processed); mgr 397 sound/pci/mixart/mixart_core.c struct mixart_mgr *mgr = dev_id; mgr 400 sound/pci/mixart/mixart_core.c it_reg = readl_le(MIXART_REG(mgr, MIXART_PCI_OMISR_OFFSET)); mgr 407 sound/pci/mixart/mixart_core.c writel_le(MIXART_HOST_ALL_INTERRUPT_MASKED, MIXART_REG(mgr, MIXART_PCI_OMIMR_OFFSET)); mgr 410 sound/pci/mixart/mixart_core.c it_reg = readl(MIXART_REG(mgr, MIXART_PCI_ODBR_OFFSET)); mgr 411 sound/pci/mixart/mixart_core.c writel(it_reg, MIXART_REG(mgr, MIXART_PCI_ODBR_OFFSET)); mgr 414 sound/pci/mixart/mixart_core.c writel_le( MIXART_OIDI, MIXART_REG(mgr, MIXART_PCI_OMISR_OFFSET) ); mgr 421 sound/pci/mixart/mixart_core.c struct mixart_mgr *mgr = dev_id; mgr 426 sound/pci/mixart/mixart_core.c mutex_lock(&mgr->lock); mgr 428 sound/pci/mixart/mixart_core.c while (retrieve_msg_frame(mgr, &msg)) { mgr 435 sound/pci/mixart/mixart_core.c err = get_msg(mgr, &resp, msg & ~MSG_TYPE_MASK); mgr 437 sound/pci/mixart/mixart_core.c dev_err(&mgr->pci->dev, mgr 456 sound/pci/mixart/mixart_core.c struct snd_mixart *chip = mgr->chip[chip_number]; mgr 459 sound/pci/mixart/mixart_core.c if ((chip_number >= mgr->num_cards) || (pcm_number >= MIXART_PCM_TOTAL) || (sub_number >= MIXART_PLAYBACK_STREAMS)) { mgr 460 sound/pci/mixart/mixart_core.c dev_err(&mgr->pci->dev, mgr 495 sound/pci/mixart/mixart_core.c mutex_unlock(&mgr->lock); mgr 497 sound/pci/mixart/mixart_core.c mutex_lock(&mgr->lock); mgr 513 sound/pci/mixart/mixart_core.c dev_dbg(&mgr->pci->dev, mgr 520 sound/pci/mixart/mixart_core.c dev_dbg(&mgr->pci->dev, "command %x not handled\n", mgr 527 sound/pci/mixart/mixart_core.c dev_err(&mgr->pci->dev, mgr 533 sound/pci/mixart/mixart_core.c mutex_lock(&mgr->msg_lock); mgr 534 sound/pci/mixart/mixart_core.c if( (msg & ~MSG_TYPE_MASK) == mgr->pending_event ) { mgr 535 sound/pci/mixart/mixart_core.c wake_up(&mgr->msg_sleep); mgr 536 sound/pci/mixart/mixart_core.c mgr->pending_event = 0; mgr 540 sound/pci/mixart/mixart_core.c mgr->msg_fifo[mgr->msg_fifo_writeptr] = msg; mgr 541 sound/pci/mixart/mixart_core.c mgr->msg_fifo_writeptr++; mgr 542 sound/pci/mixart/mixart_core.c mgr->msg_fifo_writeptr %= MSG_FIFO_SIZE; mgr 543 sound/pci/mixart/mixart_core.c snd_mixart_process_msg(mgr); mgr 545 sound/pci/mixart/mixart_core.c mutex_unlock(&mgr->msg_lock); mgr 549 sound/pci/mixart/mixart_core.c dev_dbg(&mgr->pci->dev, mgr 557 sound/pci/mixart/mixart_core.c writel_le( MIXART_ALLOW_OUTBOUND_DOORBELL, MIXART_REG( mgr, MIXART_PCI_OMIMR_OFFSET)); mgr 559 sound/pci/mixart/mixart_core.c mutex_unlock(&mgr->lock); mgr 565 sound/pci/mixart/mixart_core.c void snd_mixart_init_mailbox(struct mixart_mgr *mgr) mgr 567 sound/pci/mixart/mixart_core.c writel( 0, MIXART_MEM( mgr, MSG_HOST_RSC_PROTECTION ) ); mgr 568 sound/pci/mixart/mixart_core.c writel( 0, MIXART_MEM( mgr, MSG_AGENT_RSC_PROTECTION ) ); mgr 571 sound/pci/mixart/mixart_core.c if(mgr->irq >= 0) { mgr 572 sound/pci/mixart/mixart_core.c writel_le( MIXART_ALLOW_OUTBOUND_DOORBELL, MIXART_REG( mgr, MIXART_PCI_OMIMR_OFFSET)); mgr 577 sound/pci/mixart/mixart_core.c void snd_mixart_exit_mailbox(struct mixart_mgr *mgr) mgr 580 sound/pci/mixart/mixart_core.c writel_le( MIXART_HOST_ALL_INTERRUPT_MASKED, MIXART_REG( mgr, MIXART_PCI_OMIMR_OFFSET)); mgr 584 sound/pci/mixart/mixart_core.c void snd_mixart_reset_board(struct mixart_mgr *mgr) mgr 587 sound/pci/mixart/mixart_core.c writel_be( 1, MIXART_REG(mgr, MIXART_BA1_BRUTAL_RESET_OFFSET) ); mgr 546 sound/pci/mixart/mixart_core.h void snd_mixart_init_mailbox(struct mixart_mgr *mgr); mgr 547 sound/pci/mixart/mixart_core.h void snd_mixart_exit_mailbox(struct mixart_mgr *mgr); mgr 549 sound/pci/mixart/mixart_core.h int snd_mixart_send_msg(struct mixart_mgr *mgr, struct mixart_msg *request, int max_resp_size, void *resp_data); mgr 550 sound/pci/mixart/mixart_core.h int snd_mixart_send_msg_wait_notif(struct mixart_mgr *mgr, struct mixart_msg *request, u32 notif_event); mgr 551 sound/pci/mixart/mixart_core.h int snd_mixart_send_msg_nonblock(struct mixart_mgr *mgr, struct mixart_msg *request); mgr 556 sound/pci/mixart/mixart_core.h void snd_mixart_reset_board(struct mixart_mgr *mgr); mgr 33 sound/pci/mixart/mixart_hwdep.c static int mixart_wait_nice_for_register_value(struct mixart_mgr *mgr, mgr 45 sound/pci/mixart/mixart_hwdep.c read = readl_be( MIXART_MEM( mgr, offset )); mgr 89 sound/pci/mixart/mixart_hwdep.c static int mixart_load_elf(struct mixart_mgr *mgr, const struct firmware *dsp ) mgr 110 sound/pci/mixart/mixart_hwdep.c memcpy_toio( MIXART_MEM( mgr, be32_to_cpu(elf_programheader.p_vaddr)), mgr 128 sound/pci/mixart/mixart_hwdep.c static int mixart_enum_connectors(struct mixart_mgr *mgr) mgr 154 sound/pci/mixart/mixart_hwdep.c err = snd_mixart_send_msg(mgr, &request, sizeof(*connector), connector); mgr 156 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, mgr 166 sound/pci/mixart/mixart_hwdep.c pipe = &mgr->chip[k/2]->pipe_out_ana; mgr 168 sound/pci/mixart/mixart_hwdep.c pipe = &mgr->chip[(k-MIXART_FIRST_DIG_AUDIO_ID)/2]->pipe_out_dig; mgr 184 sound/pci/mixart/mixart_hwdep.c err = snd_mixart_send_msg(mgr, &request, sizeof(*audio_info), audio_info); mgr 186 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, mgr 198 sound/pci/mixart/mixart_hwdep.c err = snd_mixart_send_msg(mgr, &request, sizeof(*connector), connector); mgr 200 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, mgr 210 sound/pci/mixart/mixart_hwdep.c pipe = &mgr->chip[k/2]->pipe_in_ana; mgr 212 sound/pci/mixart/mixart_hwdep.c pipe = &mgr->chip[(k-MIXART_FIRST_DIG_AUDIO_ID)/2]->pipe_in_dig; mgr 228 sound/pci/mixart/mixart_hwdep.c err = snd_mixart_send_msg(mgr, &request, sizeof(*audio_info), audio_info); mgr 230 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, mgr 246 sound/pci/mixart/mixart_hwdep.c static int mixart_enum_physio(struct mixart_mgr *mgr) mgr 264 sound/pci/mixart/mixart_hwdep.c err = snd_mixart_send_msg(mgr, &request, sizeof(console_mgr), &console_mgr); mgr 267 sound/pci/mixart/mixart_hwdep.c dev_dbg(&mgr->pci->dev, mgr 274 sound/pci/mixart/mixart_hwdep.c mgr->uid_console_manager = console_mgr.uid; mgr 281 sound/pci/mixart/mixart_hwdep.c err = snd_mixart_send_msg(mgr, &request, sizeof(phys_io), &phys_io); mgr 283 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, mgr 293 sound/pci/mixart/mixart_hwdep.c for(k=0; k<mgr->num_cards; k++) { mgr 294 sound/pci/mixart/mixart_hwdep.c mgr->chip[k]->uid_in_analog_physio = phys_io.uid[k]; mgr 295 sound/pci/mixart/mixart_hwdep.c mgr->chip[k]->uid_out_analog_physio = phys_io.uid[phys_io.nb_uid/2 + k]; mgr 302 sound/pci/mixart/mixart_hwdep.c static int mixart_first_init(struct mixart_mgr *mgr) mgr 308 sound/pci/mixart/mixart_hwdep.c if((err = mixart_enum_connectors(mgr)) < 0) return err; mgr 310 sound/pci/mixart/mixart_hwdep.c if((err = mixart_enum_physio(mgr)) < 0) return err; mgr 319 sound/pci/mixart/mixart_hwdep.c err = snd_mixart_send_msg(mgr, &request, sizeof(k), &k); mgr 321 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, "error MSG_SYSTEM_SEND_SYNCHRO_CMD\n"); mgr 332 sound/pci/mixart/mixart_hwdep.c static int mixart_dsp_load(struct mixart_mgr* mgr, int index, const struct firmware *dsp) mgr 339 sound/pci/mixart/mixart_hwdep.c status_xilinx = readl_be( MIXART_MEM( mgr,MIXART_PSEUDOREG_MXLX_STATUS_OFFSET )); mgr 341 sound/pci/mixart/mixart_hwdep.c status_elf = readl_be( MIXART_MEM( mgr,MIXART_PSEUDOREG_ELF_STATUS_OFFSET )); mgr 343 sound/pci/mixart/mixart_hwdep.c status_daught = readl_be( MIXART_MEM( mgr,MIXART_PSEUDOREG_DXLX_STATUS_OFFSET )); mgr 347 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, "miXart is resetting !\n"); mgr 356 sound/pci/mixart/mixart_hwdep.c dev_dbg(&mgr->pci->dev, "xilinx is already loaded !\n"); mgr 361 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, mgr 374 sound/pci/mixart/mixart_hwdep.c writel_be( 1, MIXART_MEM( mgr, MIXART_PSEUDOREG_MXLX_STATUS_OFFSET )); mgr 377 sound/pci/mixart/mixart_hwdep.c writel_be( MIXART_MOTHERBOARD_XLX_BASE_ADDRESS, MIXART_MEM( mgr,MIXART_PSEUDOREG_MXLX_BASE_ADDR_OFFSET )); mgr 379 sound/pci/mixart/mixart_hwdep.c writel_be( dsp->size, MIXART_MEM( mgr, MIXART_PSEUDOREG_MXLX_SIZE_OFFSET )); mgr 382 sound/pci/mixart/mixart_hwdep.c memcpy_toio( MIXART_MEM( mgr, MIXART_MOTHERBOARD_XLX_BASE_ADDRESS), dsp->data, dsp->size); mgr 385 sound/pci/mixart/mixart_hwdep.c writel_be( 2, MIXART_MEM( mgr, MIXART_PSEUDOREG_MXLX_STATUS_OFFSET )); mgr 393 sound/pci/mixart/mixart_hwdep.c dev_dbg(&mgr->pci->dev, "elf file already loaded !\n"); mgr 399 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, mgr 406 sound/pci/mixart/mixart_hwdep.c err = mixart_wait_nice_for_register_value( mgr, MIXART_PSEUDOREG_MXLX_STATUS_OFFSET, 1, 4, 500); /* 5sec */ mgr 408 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, "xilinx was not loaded or " mgr 414 sound/pci/mixart/mixart_hwdep.c writel_be( 0, MIXART_MEM( mgr, MIXART_PSEUDOREG_BOARDNUMBER ) ); /* set miXart boardnumber to 0 */ mgr 415 sound/pci/mixart/mixart_hwdep.c writel_be( 0, MIXART_MEM( mgr, MIXART_FLOWTABLE_PTR ) ); /* reset pointer to flow table on miXart */ mgr 418 sound/pci/mixart/mixart_hwdep.c writel_be( 1, MIXART_MEM( mgr, MIXART_PSEUDOREG_ELF_STATUS_OFFSET )); mgr 421 sound/pci/mixart/mixart_hwdep.c err = mixart_load_elf( mgr, dsp ); mgr 425 sound/pci/mixart/mixart_hwdep.c writel_be( 2, MIXART_MEM( mgr, MIXART_PSEUDOREG_ELF_STATUS_OFFSET )); mgr 428 sound/pci/mixart/mixart_hwdep.c err = mixart_wait_nice_for_register_value( mgr, MIXART_PSEUDOREG_ELF_STATUS_OFFSET, 1, 4, 300); /* 3sec */ mgr 430 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, "elf could not be started\n"); mgr 435 sound/pci/mixart/mixart_hwdep.c writel_be( (u32)mgr->flowinfo.addr, MIXART_MEM( mgr, MIXART_FLOWTABLE_PTR ) ); /* give pointer of flow table to miXart */ mgr 444 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, "xilinx or elf not " mgr 450 sound/pci/mixart/mixart_hwdep.c err = mixart_wait_nice_for_register_value( mgr, MIXART_PSEUDOREG_DBRD_PRESENCE_OFFSET, 0, 0, 30); /* 300msec */ mgr 452 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, "error starting elf file\n"); mgr 457 sound/pci/mixart/mixart_hwdep.c mgr->board_type = (DAUGHTER_TYPE_MASK & readl_be( MIXART_MEM( mgr, MIXART_PSEUDOREG_DBRD_TYPE_OFFSET))); mgr 459 sound/pci/mixart/mixart_hwdep.c if (mgr->board_type == MIXART_DAUGHTER_TYPE_NONE) mgr 463 sound/pci/mixart/mixart_hwdep.c if (mgr->board_type != MIXART_DAUGHTER_TYPE_AES ) mgr 468 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, mgr 481 sound/pci/mixart/mixart_hwdep.c writel_be( dsp->size, MIXART_MEM( mgr, MIXART_PSEUDOREG_DXLX_SIZE_OFFSET )); mgr 484 sound/pci/mixart/mixart_hwdep.c writel_be( 1, MIXART_MEM( mgr, MIXART_PSEUDOREG_DXLX_STATUS_OFFSET )); mgr 487 sound/pci/mixart/mixart_hwdep.c err = mixart_wait_nice_for_register_value( mgr, MIXART_PSEUDOREG_DXLX_STATUS_OFFSET, 1, 2, 30); /* 300msec */ mgr 489 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, "daughter board load error\n"); mgr 494 sound/pci/mixart/mixart_hwdep.c val = readl_be( MIXART_MEM( mgr, MIXART_PSEUDOREG_DXLX_BASE_ADDR_OFFSET )); mgr 499 sound/pci/mixart/mixart_hwdep.c memcpy_toio( MIXART_MEM( mgr, val), dsp->data, dsp->size); mgr 502 sound/pci/mixart/mixart_hwdep.c writel_be( 4, MIXART_MEM( mgr, MIXART_PSEUDOREG_DXLX_STATUS_OFFSET )); mgr 509 sound/pci/mixart/mixart_hwdep.c err = mixart_wait_nice_for_register_value( mgr, MIXART_PSEUDOREG_DXLX_STATUS_OFFSET, 1, 3, 300); /* 3sec */ mgr 511 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, mgr 517 sound/pci/mixart/mixart_hwdep.c snd_mixart_init_mailbox(mgr); mgr 520 sound/pci/mixart/mixart_hwdep.c err = mixart_first_init(mgr); mgr 522 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, "miXart could not be set up\n"); mgr 527 sound/pci/mixart/mixart_hwdep.c for (card_index = 0; card_index < mgr->num_cards; card_index++) { mgr 528 sound/pci/mixart/mixart_hwdep.c struct snd_mixart *chip = mgr->chip[card_index]; mgr 534 sound/pci/mixart/mixart_hwdep.c if ((err = snd_mixart_create_mixer(chip->mgr)) < 0) mgr 542 sound/pci/mixart/mixart_hwdep.c dev_dbg(&mgr->pci->dev, mgr 549 sound/pci/mixart/mixart_hwdep.c int snd_mixart_setup_firmware(struct mixart_mgr *mgr) mgr 561 sound/pci/mixart/mixart_hwdep.c if (request_firmware(&fw_entry, path, &mgr->pci->dev)) { mgr 562 sound/pci/mixart/mixart_hwdep.c dev_err(&mgr->pci->dev, mgr 567 sound/pci/mixart/mixart_hwdep.c err = mixart_dsp_load(mgr, i, fw_entry); mgr 571 sound/pci/mixart/mixart_hwdep.c mgr->dsp_loaded |= 1 << i; mgr 31 sound/pci/mixart/mixart_hwdep.h #define MIXART_MEM(mgr,x) ((mgr)->mem[0].virt + (x)) mgr 32 sound/pci/mixart/mixart_hwdep.h #define MIXART_REG(mgr,x) ((mgr)->mem[1].virt + (x)) mgr 140 sound/pci/mixart/mixart_hwdep.h int snd_mixart_setup_firmware(struct mixart_mgr *mgr); mgr 317 sound/pci/mixart/mixart_mixer.c err = snd_mixart_send_msg(chip->mgr, &request, sizeof(resp), &resp); mgr 347 sound/pci/mixart/mixart_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 355 sound/pci/mixart/mixart_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 365 sound/pci/mixart/mixart_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 388 sound/pci/mixart/mixart_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 412 sound/pci/mixart/mixart_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 415 sound/pci/mixart/mixart_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 423 sound/pci/mixart/mixart_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 434 sound/pci/mixart/mixart_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 752 sound/pci/mixart/mixart_mixer.c err = snd_mixart_send_msg(chip->mgr, &request, sizeof(status), &status); mgr 797 sound/pci/mixart/mixart_mixer.c err = snd_mixart_send_msg(chip->mgr, &request, sizeof(status), &status); mgr 828 sound/pci/mixart/mixart_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 839 sound/pci/mixart/mixart_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 852 sound/pci/mixart/mixart_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 881 sound/pci/mixart/mixart_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 906 sound/pci/mixart/mixart_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 911 sound/pci/mixart/mixart_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 923 sound/pci/mixart/mixart_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 937 sound/pci/mixart/mixart_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 971 sound/pci/mixart/mixart_mixer.c err = snd_mixart_send_msg(chip->mgr, &request, sizeof(resp), &resp); mgr 988 sound/pci/mixart/mixart_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 991 sound/pci/mixart/mixart_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 1000 sound/pci/mixart/mixart_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 1010 sound/pci/mixart/mixart_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 1032 sound/pci/mixart/mixart_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 1035 sound/pci/mixart/mixart_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 1044 sound/pci/mixart/mixart_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 1069 sound/pci/mixart/mixart_mixer.c snd_mixart_kill_ref_pipe(chip->mgr, mgr 1072 sound/pci/mixart/mixart_mixer.c snd_mixart_kill_ref_pipe(chip->mgr, mgr 1077 sound/pci/mixart/mixart_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 1102 sound/pci/mixart/mixart_mixer.c int snd_mixart_create_mixer(struct mixart_mgr *mgr) mgr 1107 sound/pci/mixart/mixart_mixer.c mutex_init(&mgr->mixer_mutex); /* can be in another place */ mgr 1109 sound/pci/mixart/mixart_mixer.c for(i=0; i<mgr->num_cards; i++) { mgr 1111 sound/pci/mixart/mixart_mixer.c chip = mgr->chip[i]; mgr 1145 sound/pci/mixart/mixart_mixer.c if(mgr->board_type == MIXART_DAUGHTER_TYPE_AES) { mgr 1164 sound/pci/mixart/mixart_mixer.c if(mgr->board_type == MIXART_DAUGHTER_TYPE_AES) { mgr 16 sound/pci/mixart/mixart_mixer.h int snd_mixart_create_mixer(struct mixart_mgr* mgr); mgr 235 sound/pci/pcxhr/pcxhr.c static int pcxhr_get_clock_reg(struct pcxhr_mgr *mgr, unsigned int rate, mgr 243 sound/pci/pcxhr/pcxhr.c switch (mgr->use_clock_type) { mgr 272 sound/pci/pcxhr/pcxhr.c err = pcxhr_send_msg(mgr, &rmh); mgr 274 sound/pci/pcxhr/pcxhr.c dev_err(&mgr->pci->dev, mgr 308 sound/pci/pcxhr/pcxhr.c static int pcxhr_sub_set_clock(struct pcxhr_mgr *mgr, mgr 316 sound/pci/pcxhr/pcxhr.c err = pcxhr_get_clock_reg(mgr, rate, &val, &realfreq); mgr 327 sound/pci/pcxhr/pcxhr.c if (mgr->codec_speed != speed) { mgr 330 sound/pci/pcxhr/pcxhr.c if (DSP_EXT_CMD_SET(mgr)) { mgr 334 sound/pci/pcxhr/pcxhr.c err = pcxhr_send_msg(mgr, &rmh); mgr 342 sound/pci/pcxhr/pcxhr.c err = pcxhr_send_msg(mgr, &rmh); mgr 347 sound/pci/pcxhr/pcxhr.c dev_dbg(&mgr->pci->dev, "clock register : set %x\n", val); mgr 348 sound/pci/pcxhr/pcxhr.c err = pcxhr_write_io_num_reg_cont(mgr, PCXHR_FREQ_REG_MASK, mgr 353 sound/pci/pcxhr/pcxhr.c mgr->sample_rate_real = realfreq; mgr 354 sound/pci/pcxhr/pcxhr.c mgr->cur_clock_type = mgr->use_clock_type; mgr 357 sound/pci/pcxhr/pcxhr.c if (mgr->codec_speed != speed) { mgr 360 sound/pci/pcxhr/pcxhr.c if (DSP_EXT_CMD_SET(mgr)) { mgr 364 sound/pci/pcxhr/pcxhr.c err = pcxhr_send_msg(mgr, &rmh); mgr 367 sound/pci/pcxhr/pcxhr.c mgr->codec_speed = speed; /* save new codec speed */ mgr 370 sound/pci/pcxhr/pcxhr.c dev_dbg(&mgr->pci->dev, "pcxhr_sub_set_clock to %dHz (realfreq=%d)\n", mgr 380 sound/pci/pcxhr/pcxhr.c int pcxhr_set_clock(struct pcxhr_mgr *mgr, unsigned int rate) mgr 388 sound/pci/pcxhr/pcxhr.c if (mgr->is_hr_stereo) mgr 389 sound/pci/pcxhr/pcxhr.c err = hr222_sub_set_clock(mgr, rate, &changed); mgr 391 sound/pci/pcxhr/pcxhr.c err = pcxhr_sub_set_clock(mgr, rate, &changed); mgr 405 sound/pci/pcxhr/pcxhr.c err = pcxhr_send_msg(mgr, &rmh); mgr 413 sound/pci/pcxhr/pcxhr.c static int pcxhr_sub_get_external_clock(struct pcxhr_mgr *mgr, mgr 446 sound/pci/pcxhr/pcxhr.c if (mgr->last_reg_stat != reg) { mgr 448 sound/pci/pcxhr/pcxhr.c err = pcxhr_send_msg(mgr, &rmh); mgr 452 sound/pci/pcxhr/pcxhr.c mgr->last_reg_stat = reg; mgr 455 sound/pci/pcxhr/pcxhr.c err = pcxhr_send_msg(mgr, &rmh); mgr 470 sound/pci/pcxhr/pcxhr.c dev_dbg(&mgr->pci->dev, "External clock is at %d Hz\n", rate); mgr 476 sound/pci/pcxhr/pcxhr.c int pcxhr_get_external_clock(struct pcxhr_mgr *mgr, mgr 480 sound/pci/pcxhr/pcxhr.c if (mgr->is_hr_stereo) mgr 481 sound/pci/pcxhr/pcxhr.c return hr222_get_external_clock(mgr, clock_type, mgr 484 sound/pci/pcxhr/pcxhr.c return pcxhr_sub_get_external_clock(mgr, clock_type, mgr 525 sound/pci/pcxhr/pcxhr.c err = pcxhr_send_msg(chip->mgr, &rmh); mgr 578 sound/pci/pcxhr/pcxhr.c sample_rate = chip->mgr->sample_rate; mgr 598 sound/pci/pcxhr/pcxhr.c if (DSP_EXT_CMD_SET(chip->mgr)) mgr 605 sound/pci/pcxhr/pcxhr.c if (DSP_EXT_CMD_SET(chip->mgr)) { mgr 616 sound/pci/pcxhr/pcxhr.c err = pcxhr_send_msg(chip->mgr, &rmh); mgr 654 sound/pci/pcxhr/pcxhr.c err = pcxhr_send_msg(chip->mgr, &rmh); mgr 672 sound/pci/pcxhr/pcxhr.c err = pcxhr_send_msg(chip->mgr, &rmh); mgr 692 sound/pci/pcxhr/pcxhr.c static void pcxhr_start_linked_stream(struct pcxhr_mgr *mgr) mgr 705 sound/pci/pcxhr/pcxhr.c mutex_lock(&mgr->setup_mutex); mgr 708 sound/pci/pcxhr/pcxhr.c for (i = 0; i < mgr->num_cards; i++) { mgr 709 sound/pci/pcxhr/pcxhr.c chip = mgr->chip[i]; mgr 724 sound/pci/pcxhr/pcxhr.c mutex_unlock(&mgr->setup_mutex); mgr 725 sound/pci/pcxhr/pcxhr.c dev_err(&mgr->pci->dev, "pcxhr_start_linked_stream : no pipes\n"); mgr 729 sound/pci/pcxhr/pcxhr.c dev_dbg(&mgr->pci->dev, "pcxhr_start_linked_stream : " mgr 734 sound/pci/pcxhr/pcxhr.c err = pcxhr_set_pipe_state(mgr, playback_mask, capture_mask, 0); mgr 736 sound/pci/pcxhr/pcxhr.c mutex_unlock(&mgr->setup_mutex); mgr 737 sound/pci/pcxhr/pcxhr.c dev_err(&mgr->pci->dev, "pcxhr_start_linked_stream : " mgr 744 sound/pci/pcxhr/pcxhr.c for (i = 0; i < mgr->num_cards; i++) { mgr 746 sound/pci/pcxhr/pcxhr.c chip = mgr->chip[i]; mgr 763 sound/pci/pcxhr/pcxhr.c for (i = 0; i < mgr->num_cards; i++) { mgr 765 sound/pci/pcxhr/pcxhr.c chip = mgr->chip[i]; mgr 779 sound/pci/pcxhr/pcxhr.c err = pcxhr_set_pipe_state(mgr, playback_mask, capture_mask, 1); mgr 781 sound/pci/pcxhr/pcxhr.c mutex_unlock(&mgr->setup_mutex); mgr 782 sound/pci/pcxhr/pcxhr.c dev_err(&mgr->pci->dev, "pcxhr_start_linked_stream : " mgr 791 sound/pci/pcxhr/pcxhr.c mutex_lock(&mgr->lock); mgr 792 sound/pci/pcxhr/pcxhr.c for ( i =0; i < mgr->num_cards; i++) { mgr 794 sound/pci/pcxhr/pcxhr.c chip = mgr->chip[i]; mgr 804 sound/pci/pcxhr/pcxhr.c stream->timer_period_frag += mgr->granularity; mgr 809 sound/pci/pcxhr/pcxhr.c mutex_unlock(&mgr->lock); mgr 811 sound/pci/pcxhr/pcxhr.c mutex_unlock(&mgr->setup_mutex); mgr 816 sound/pci/pcxhr/pcxhr.c dev_dbg(&mgr->pci->dev, "***TRIGGER START*** TIME = %ld (err = %x)\n", mgr 843 sound/pci/pcxhr/pcxhr.c pcxhr_start_linked_stream(chip->mgr); mgr 880 sound/pci/pcxhr/pcxhr.c static int pcxhr_hardware_timer(struct pcxhr_mgr *mgr, int start) mgr 888 sound/pci/pcxhr/pcxhr.c mgr->dsp_time_last = PCXHR_DSP_TIME_INVALID; mgr 889 sound/pci/pcxhr/pcxhr.c rmh.cmd[0] |= mgr->granularity; mgr 891 sound/pci/pcxhr/pcxhr.c err = pcxhr_send_msg(mgr, &rmh); mgr 893 sound/pci/pcxhr/pcxhr.c dev_err(&mgr->pci->dev, "error pcxhr_hardware_timer err(%x)\n", mgr 904 sound/pci/pcxhr/pcxhr.c struct pcxhr_mgr *mgr = chip->mgr; mgr 912 sound/pci/pcxhr/pcxhr.c mutex_lock(&mgr->setup_mutex); mgr 917 sound/pci/pcxhr/pcxhr.c if (mgr->sample_rate != subs->runtime->rate) { mgr 918 sound/pci/pcxhr/pcxhr.c err = pcxhr_set_clock(mgr, subs->runtime->rate); mgr 921 sound/pci/pcxhr/pcxhr.c if (mgr->sample_rate == 0) mgr 923 sound/pci/pcxhr/pcxhr.c err = pcxhr_hardware_timer(mgr, 1); mgr 924 sound/pci/pcxhr/pcxhr.c mgr->sample_rate = subs->runtime->rate; mgr 928 sound/pci/pcxhr/pcxhr.c mutex_unlock(&mgr->setup_mutex); mgr 941 sound/pci/pcxhr/pcxhr.c struct pcxhr_mgr *mgr = chip->mgr; mgr 953 sound/pci/pcxhr/pcxhr.c mutex_lock(&mgr->setup_mutex); mgr 961 sound/pci/pcxhr/pcxhr.c mutex_unlock(&mgr->setup_mutex); mgr 1006 sound/pci/pcxhr/pcxhr.c struct pcxhr_mgr *mgr = chip->mgr; mgr 1011 sound/pci/pcxhr/pcxhr.c mutex_lock(&mgr->setup_mutex); mgr 1023 sound/pci/pcxhr/pcxhr.c if (mgr->mono_capture) mgr 1033 sound/pci/pcxhr/pcxhr.c mutex_unlock(&mgr->setup_mutex); mgr 1038 sound/pci/pcxhr/pcxhr.c if (mgr->is_hr_stereo) mgr 1045 sound/pci/pcxhr/pcxhr.c mutex_unlock(&mgr->setup_mutex); mgr 1052 sound/pci/pcxhr/pcxhr.c if (mgr->sample_rate) mgr 1053 sound/pci/pcxhr/pcxhr.c runtime->hw.rate_min = runtime->hw.rate_max = mgr->sample_rate; mgr 1055 sound/pci/pcxhr/pcxhr.c if (mgr->use_clock_type != PCXHR_CLOCK_TYPE_INTERNAL) { mgr 1057 sound/pci/pcxhr/pcxhr.c if (pcxhr_get_external_clock(mgr, mgr->use_clock_type, mgr 1061 sound/pci/pcxhr/pcxhr.c mutex_unlock(&mgr->setup_mutex); mgr 1082 sound/pci/pcxhr/pcxhr.c mgr->ref_count_rate++; mgr 1084 sound/pci/pcxhr/pcxhr.c mutex_unlock(&mgr->setup_mutex); mgr 1092 sound/pci/pcxhr/pcxhr.c struct pcxhr_mgr *mgr = chip->mgr; mgr 1095 sound/pci/pcxhr/pcxhr.c mutex_lock(&mgr->setup_mutex); mgr 1101 sound/pci/pcxhr/pcxhr.c if (--mgr->ref_count_rate == 0) { mgr 1102 sound/pci/pcxhr/pcxhr.c mgr->sample_rate = 0; /* the sample rate is no more locked */ mgr 1103 sound/pci/pcxhr/pcxhr.c pcxhr_hardware_timer(mgr, 0); /* stop the DSP-timer */ mgr 1109 sound/pci/pcxhr/pcxhr.c mutex_unlock(&mgr->setup_mutex); mgr 1123 sound/pci/pcxhr/pcxhr.c mutex_lock(&chip->mgr->lock); mgr 1129 sound/pci/pcxhr/pcxhr.c mutex_unlock(&chip->mgr->lock); mgr 1174 sound/pci/pcxhr/pcxhr.c snd_dma_pci_data(chip->mgr->pci), mgr 1195 sound/pci/pcxhr/pcxhr.c static int pcxhr_create(struct pcxhr_mgr *mgr, mgr 1210 sound/pci/pcxhr/pcxhr.c chip->mgr = mgr; mgr 1212 sound/pci/pcxhr/pcxhr.c if (idx < mgr->playback_chips) mgr 1216 sound/pci/pcxhr/pcxhr.c if (idx < mgr->capture_chips) { mgr 1217 sound/pci/pcxhr/pcxhr.c if (mgr->mono_capture) mgr 1228 sound/pci/pcxhr/pcxhr.c mgr->chip[idx] = chip; mgr 1238 sound/pci/pcxhr/pcxhr.c struct pcxhr_mgr *mgr = chip->mgr; mgr 1240 sound/pci/pcxhr/pcxhr.c snd_iprintf(buffer, "\n%s\n", mgr->name); mgr 1243 sound/pci/pcxhr/pcxhr.c if (mgr->dsp_loaded & (1 << PCXHR_FIRMWARE_DSP_MAIN_INDEX)) { mgr 1245 sound/pci/pcxhr/pcxhr.c short ver_maj = (mgr->dsp_version >> 16) & 0xff; mgr 1246 sound/pci/pcxhr/pcxhr.c short ver_min = (mgr->dsp_version >> 8) & 0xff; mgr 1247 sound/pci/pcxhr/pcxhr.c short ver_build = mgr->dsp_version & 0xff; mgr 1252 sound/pci/pcxhr/pcxhr.c if (mgr->board_has_analog) mgr 1259 sound/pci/pcxhr/pcxhr.c if( ! pcxhr_send_msg(mgr, &rmh) ) { mgr 1263 sound/pci/pcxhr/pcxhr.c if (mgr->sample_rate_real != 0 && mgr 1264 sound/pci/pcxhr/pcxhr.c mgr->sample_rate_real != 48000) { mgr 1266 sound/pci/pcxhr/pcxhr.c mgr->sample_rate_real; mgr 1267 sound/pci/pcxhr/pcxhr.c if (mgr->sample_rate_real >= mgr 1278 sound/pci/pcxhr/pcxhr.c mgr->granularity); mgr 1280 sound/pci/pcxhr/pcxhr.c mgr->dsp_time_err); mgr 1282 sound/pci/pcxhr/pcxhr.c mgr->async_err_pipe_xrun); mgr 1284 sound/pci/pcxhr/pcxhr.c mgr->async_err_stream_xrun); mgr 1286 sound/pci/pcxhr/pcxhr.c mgr->async_err_other_last); mgr 1293 sound/pci/pcxhr/pcxhr.c if( ! pcxhr_send_msg(mgr, &rmh) ) { mgr 1309 sound/pci/pcxhr/pcxhr.c struct pcxhr_mgr *mgr = chip->mgr; mgr 1319 sound/pci/pcxhr/pcxhr.c if (mgr->is_hr_stereo) { mgr 1327 sound/pci/pcxhr/pcxhr.c snd_iprintf(buffer, "\n%s\n", mgr->name); mgr 1329 sound/pci/pcxhr/pcxhr.c texts[mgr->cur_clock_type]); mgr 1331 sound/pci/pcxhr/pcxhr.c mgr->sample_rate_real); mgr 1333 sound/pci/pcxhr/pcxhr.c if (mgr->dsp_loaded & (1 << PCXHR_FIRMWARE_DSP_MAIN_INDEX)) { mgr 1336 sound/pci/pcxhr/pcxhr.c err = pcxhr_get_external_clock(mgr, i, &sample_rate); mgr 1351 sound/pci/pcxhr/pcxhr.c struct pcxhr_mgr *mgr = chip->mgr; mgr 1353 sound/pci/pcxhr/pcxhr.c if (mgr->dsp_loaded & (1 << PCXHR_FIRMWARE_DSP_MAIN_INDEX)) { mgr 1356 sound/pci/pcxhr/pcxhr.c hr222_read_gpio(mgr, 1, &value); /* GPI */ mgr 1358 sound/pci/pcxhr/pcxhr.c hr222_read_gpio(mgr, 0, &value); /* GP0 */ mgr 1368 sound/pci/pcxhr/pcxhr.c struct pcxhr_mgr *mgr = chip->mgr; mgr 1372 sound/pci/pcxhr/pcxhr.c if (!(mgr->dsp_loaded & (1 << PCXHR_FIRMWARE_DSP_MAIN_INDEX))) mgr 1377 sound/pci/pcxhr/pcxhr.c hr222_write_gpo(mgr, value); /* GP0 */ mgr 1396 sound/pci/pcxhr/pcxhr.c struct pcxhr_mgr *mgr = chip->mgr; mgr 1401 sound/pci/pcxhr/pcxhr.c if (!(mgr->dsp_loaded & (1 << PCXHR_FIRMWARE_DSP_MAIN_INDEX))) { mgr 1405 sound/pci/pcxhr/pcxhr.c if (!mgr->capture_ltc) { mgr 1408 sound/pci/pcxhr/pcxhr.c err = pcxhr_send_msg(mgr, &rmh); mgr 1413 sound/pci/pcxhr/pcxhr.c if (mgr->is_hr_stereo) mgr 1414 sound/pci/pcxhr/pcxhr.c hr222_manage_timecode(mgr, 1); mgr 1416 sound/pci/pcxhr/pcxhr.c pcxhr_write_io_num_reg_cont(mgr, REG_CONT_VALSMPTE, mgr 1418 sound/pci/pcxhr/pcxhr.c mgr->capture_ltc = 1; mgr 1421 sound/pci/pcxhr/pcxhr.c err = pcxhr_send_msg(mgr, &rmh); mgr 1447 sound/pci/pcxhr/pcxhr.c if (chip->mgr->is_hr_stereo) mgr 1458 sound/pci/pcxhr/pcxhr.c static int pcxhr_free(struct pcxhr_mgr *mgr) mgr 1462 sound/pci/pcxhr/pcxhr.c for (i = 0; i < mgr->num_cards; i++) { mgr 1463 sound/pci/pcxhr/pcxhr.c if (mgr->chip[i]) mgr 1464 sound/pci/pcxhr/pcxhr.c snd_card_free(mgr->chip[i]->card); mgr 1468 sound/pci/pcxhr/pcxhr.c if(mgr->dsp_loaded) { mgr 1469 sound/pci/pcxhr/pcxhr.c pcxhr_reset_board(mgr); mgr 1470 sound/pci/pcxhr/pcxhr.c dev_dbg(&mgr->pci->dev, "reset pcxhr !\n"); mgr 1474 sound/pci/pcxhr/pcxhr.c if (mgr->irq >= 0) mgr 1475 sound/pci/pcxhr/pcxhr.c free_irq(mgr->irq, mgr); mgr 1477 sound/pci/pcxhr/pcxhr.c pci_release_regions(mgr->pci); mgr 1480 sound/pci/pcxhr/pcxhr.c if (mgr->hostport.area) { mgr 1481 sound/pci/pcxhr/pcxhr.c snd_dma_free_pages(&mgr->hostport); mgr 1482 sound/pci/pcxhr/pcxhr.c mgr->hostport.area = NULL; mgr 1485 sound/pci/pcxhr/pcxhr.c kfree(mgr->prmh); mgr 1487 sound/pci/pcxhr/pcxhr.c pci_disable_device(mgr->pci); mgr 1488 sound/pci/pcxhr/pcxhr.c kfree(mgr); mgr 1499 sound/pci/pcxhr/pcxhr.c struct pcxhr_mgr *mgr; mgr 1526 sound/pci/pcxhr/pcxhr.c mgr = kzalloc(sizeof(*mgr), GFP_KERNEL); mgr 1527 sound/pci/pcxhr/pcxhr.c if (! mgr) { mgr 1533 sound/pci/pcxhr/pcxhr.c kfree(mgr); mgr 1539 sound/pci/pcxhr/pcxhr.c mgr->playback_chips = mgr 1541 sound/pci/pcxhr/pcxhr.c mgr->capture_chips = mgr 1543 sound/pci/pcxhr/pcxhr.c mgr->fw_file_set = mgr 1545 sound/pci/pcxhr/pcxhr.c mgr->firmware_num = mgr 1547 sound/pci/pcxhr/pcxhr.c mgr->mono_capture = mono[dev]; mgr 1548 sound/pci/pcxhr/pcxhr.c mgr->is_hr_stereo = (mgr->playback_chips == 1); mgr 1549 sound/pci/pcxhr/pcxhr.c mgr->board_has_aes1 = PCXHR_BOARD_HAS_AES1(mgr); mgr 1550 sound/pci/pcxhr/pcxhr.c mgr->board_aes_in_192k = !PCXHR_BOARD_AESIN_NO_192K(mgr); mgr 1552 sound/pci/pcxhr/pcxhr.c if (mgr->is_hr_stereo) mgr 1553 sound/pci/pcxhr/pcxhr.c mgr->granularity = PCXHR_GRANULARITY_HR22; mgr 1555 sound/pci/pcxhr/pcxhr.c mgr->granularity = PCXHR_GRANULARITY; mgr 1559 sound/pci/pcxhr/pcxhr.c kfree(mgr); mgr 1564 sound/pci/pcxhr/pcxhr.c mgr->port[i] = pci_resource_start(pci, i); mgr 1566 sound/pci/pcxhr/pcxhr.c mgr->pci = pci; mgr 1567 sound/pci/pcxhr/pcxhr.c mgr->irq = -1; mgr 1571 sound/pci/pcxhr/pcxhr.c KBUILD_MODNAME, mgr)) { mgr 1573 sound/pci/pcxhr/pcxhr.c pcxhr_free(mgr); mgr 1576 sound/pci/pcxhr/pcxhr.c mgr->irq = pci->irq; mgr 1578 sound/pci/pcxhr/pcxhr.c snprintf(mgr->name, sizeof(mgr->name), mgr 1580 sound/pci/pcxhr/pcxhr.c mgr->port[0], mgr->port[1], mgr->port[2], mgr->irq); mgr 1583 sound/pci/pcxhr/pcxhr.c mutex_init(&mgr->lock); mgr 1584 sound/pci/pcxhr/pcxhr.c mutex_init(&mgr->msg_lock); mgr 1587 sound/pci/pcxhr/pcxhr.c mutex_init(&mgr->setup_mutex); mgr 1589 sound/pci/pcxhr/pcxhr.c mgr->prmh = kmalloc(sizeof(*mgr->prmh) + mgr 1593 sound/pci/pcxhr/pcxhr.c if (! mgr->prmh) { mgr 1594 sound/pci/pcxhr/pcxhr.c pcxhr_free(mgr); mgr 1603 sound/pci/pcxhr/pcxhr.c if (i >= max(mgr->playback_chips, mgr->capture_chips)) mgr 1605 sound/pci/pcxhr/pcxhr.c mgr->num_cards++; mgr 1619 sound/pci/pcxhr/pcxhr.c pcxhr_free(mgr); mgr 1627 sound/pci/pcxhr/pcxhr.c "%s [PCM #%d]", mgr->name, i); mgr 1629 sound/pci/pcxhr/pcxhr.c if ((err = pcxhr_create(mgr, card, i)) < 0) { mgr 1631 sound/pci/pcxhr/pcxhr.c pcxhr_free(mgr); mgr 1637 sound/pci/pcxhr/pcxhr.c pcxhr_proc_init(mgr->chip[i]); mgr 1640 sound/pci/pcxhr/pcxhr.c pcxhr_free(mgr); mgr 1648 sound/pci/pcxhr/pcxhr.c size, &mgr->hostport) < 0) { mgr 1649 sound/pci/pcxhr/pcxhr.c pcxhr_free(mgr); mgr 1653 sound/pci/pcxhr/pcxhr.c memset(mgr->hostport.area, 0, size); mgr 1656 sound/pci/pcxhr/pcxhr.c err = pcxhr_setup_firmware(mgr); mgr 1658 sound/pci/pcxhr/pcxhr.c pcxhr_free(mgr); mgr 1662 sound/pci/pcxhr/pcxhr.c pci_set_drvdata(pci, mgr); mgr 155 sound/pci/pcxhr/pcxhr.h struct pcxhr_mgr *mgr; mgr 194 sound/pci/pcxhr/pcxhr.h int pcxhr_set_clock(struct pcxhr_mgr *mgr, unsigned int rate); mgr 195 sound/pci/pcxhr/pcxhr.h int pcxhr_get_external_clock(struct pcxhr_mgr *mgr, mgr 59 sound/pci/pcxhr/pcxhr_core.c #define PCXHR_INPB(mgr,x) inb((mgr)->port[PCXHR_REG_TO_PORT(x)] + (x)) mgr 60 sound/pci/pcxhr/pcxhr_core.c #define PCXHR_INPL(mgr,x) inl((mgr)->port[PCXHR_REG_TO_PORT(x)] + (x)) mgr 61 sound/pci/pcxhr/pcxhr_core.c #define PCXHR_OUTPB(mgr,x,data) outb((data), (mgr)->port[PCXHR_REG_TO_PORT(x)] + (x)) mgr 62 sound/pci/pcxhr/pcxhr_core.c #define PCXHR_OUTPL(mgr,x,data) outl((data), (mgr)->port[PCXHR_REG_TO_PORT(x)] + (x)) mgr 113 sound/pci/pcxhr/pcxhr_core.c static int pcxhr_check_reg_bit(struct pcxhr_mgr *mgr, unsigned int reg, mgr 120 sound/pci/pcxhr/pcxhr_core.c *read = PCXHR_INPB(mgr, reg); mgr 123 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, mgr 130 sound/pci/pcxhr/pcxhr_core.c dev_err(&mgr->pci->dev, mgr 166 sound/pci/pcxhr/pcxhr_core.c static int pcxhr_send_it_dsp(struct pcxhr_mgr *mgr, mgr 174 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPL(mgr, PCXHR_PLX_MBOX0, mgr 175 sound/pci/pcxhr/pcxhr_core.c PCXHR_INPL(mgr, PCXHR_PLX_MBOX0) & mgr 186 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_ICR, reg); mgr 190 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_CVR, reg); mgr 204 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_check_reg_bit(mgr, PCXHR_DSP_CVR, PCXHR_CVR_HI08_HC, 0, mgr 207 sound/pci/pcxhr/pcxhr_core.c dev_err(&mgr->pci->dev, "pcxhr_send_it_dsp : TIMEOUT CVR\n"); mgr 212 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_check_reg_bit(mgr, PCXHR_PLX_MBOX0, mgr 218 sound/pci/pcxhr/pcxhr_core.c dev_err(&mgr->pci->dev, mgr 226 sound/pci/pcxhr/pcxhr_core.c void pcxhr_reset_xilinx_com(struct pcxhr_mgr *mgr) mgr 229 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPL(mgr, PCXHR_PLX_CHIPSC, mgr 233 sound/pci/pcxhr/pcxhr_core.c static void pcxhr_enable_irq(struct pcxhr_mgr *mgr, int enable) mgr 235 sound/pci/pcxhr/pcxhr_core.c unsigned int reg = PCXHR_INPL(mgr, PCXHR_PLX_IRQCS); mgr 241 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPL(mgr, PCXHR_PLX_IRQCS, reg); mgr 244 sound/pci/pcxhr/pcxhr_core.c void pcxhr_reset_dsp(struct pcxhr_mgr *mgr) mgr 247 sound/pci/pcxhr/pcxhr_core.c pcxhr_enable_irq(mgr, 0); mgr 250 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_RESET, 0); mgr 252 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_RESET, 3); mgr 256 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPL(mgr, PCXHR_PLX_MBOX0, 0); mgr 259 sound/pci/pcxhr/pcxhr_core.c void pcxhr_enable_dsp(struct pcxhr_mgr *mgr) mgr 262 sound/pci/pcxhr/pcxhr_core.c pcxhr_enable_irq(mgr, 1); mgr 268 sound/pci/pcxhr/pcxhr_core.c int pcxhr_load_xilinx_binary(struct pcxhr_mgr *mgr, mgr 278 sound/pci/pcxhr/pcxhr_core.c chipsc = PCXHR_INPL(mgr, PCXHR_PLX_CHIPSC); mgr 285 sound/pci/pcxhr/pcxhr_core.c dev_err(&mgr->pci->dev, "error loading first xilinx\n"); mgr 290 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPL(mgr, PCXHR_PLX_CHIPSC, chipsc); mgr 302 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPL(mgr, PCXHR_PLX_CHIPSC, chipsc); mgr 304 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPL(mgr, PCXHR_PLX_CHIPSC, chipsc); mgr 311 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPL(mgr, PCXHR_PLX_CHIPSC, chipsc); mgr 320 sound/pci/pcxhr/pcxhr_core.c static int pcxhr_download_dsp(struct pcxhr_mgr *mgr, const struct firmware *dsp) mgr 346 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_check_reg_bit(mgr, PCXHR_DSP_ISR, mgr 351 sound/pci/pcxhr/pcxhr_core.c dev_err(&mgr->pci->dev, mgr 356 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_TXH, data[0]); mgr 357 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_TXM, data[1]); mgr 358 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_TXL, data[2]); mgr 371 sound/pci/pcxhr/pcxhr_core.c int pcxhr_load_eeprom_binary(struct pcxhr_mgr *mgr, mgr 379 sound/pci/pcxhr/pcxhr_core.c if (PCXHR_INPL(mgr, PCXHR_PLX_MBOX0) & PCXHR_MBOX0_BOOT_HERE) { mgr 383 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_ICR, reg | PCXHR_ICR_HI08_INIT); mgr 385 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_ICR, reg); mgr 387 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, "no need to load eeprom boot\n"); mgr 390 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_ICR, reg); mgr 392 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_download_dsp(mgr, eeprom); mgr 396 sound/pci/pcxhr/pcxhr_core.c return pcxhr_check_reg_bit(mgr, PCXHR_DSP_ISR, PCXHR_ISR_HI08_CHK, mgr 403 sound/pci/pcxhr/pcxhr_core.c int pcxhr_load_boot_binary(struct pcxhr_mgr *mgr, const struct firmware *boot) mgr 406 sound/pci/pcxhr/pcxhr_core.c unsigned int physaddr = mgr->hostport.addr; mgr 412 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPL(mgr, PCXHR_PLX_MBOX1, (physaddr >> 8)); mgr 414 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_send_it_dsp(mgr, PCXHR_IT_DOWNLOAD_BOOT, 0); mgr 418 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPL(mgr, PCXHR_PLX_MBOX0, mgr 419 sound/pci/pcxhr/pcxhr_core.c PCXHR_INPL(mgr, PCXHR_PLX_MBOX0) & ~PCXHR_MBOX0_HF5); mgr 421 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_download_dsp(mgr, boot); mgr 425 sound/pci/pcxhr/pcxhr_core.c return pcxhr_check_reg_bit(mgr, PCXHR_PLX_MBOX0, PCXHR_MBOX0_HF5, mgr 432 sound/pci/pcxhr/pcxhr_core.c int pcxhr_load_dsp_binary(struct pcxhr_mgr *mgr, const struct firmware *dsp) mgr 436 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_send_it_dsp(mgr, PCXHR_IT_RESET_BOARD_FUNC, 0); mgr 439 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_send_it_dsp(mgr, PCXHR_IT_DOWNLOAD_DSP, 0); mgr 442 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_download_dsp(mgr, dsp); mgr 446 sound/pci/pcxhr/pcxhr_core.c return pcxhr_check_reg_bit(mgr, PCXHR_DSP_ISR, mgr 532 sound/pci/pcxhr/pcxhr_core.c static int pcxhr_read_rmh_status(struct pcxhr_mgr *mgr, struct pcxhr_rmh *rmh) mgr 547 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_check_reg_bit(mgr, PCXHR_DSP_ISR, mgr 552 sound/pci/pcxhr/pcxhr_core.c dev_err(&mgr->pci->dev, mgr 558 sound/pci/pcxhr/pcxhr_core.c data = PCXHR_INPB(mgr, PCXHR_DSP_TXH) << 16; mgr 559 sound/pci/pcxhr/pcxhr_core.c data |= PCXHR_INPB(mgr, PCXHR_DSP_TXM) << 8; mgr 560 sound/pci/pcxhr/pcxhr_core.c data |= PCXHR_INPB(mgr, PCXHR_DSP_TXL); mgr 582 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, " stat[%d]=%x\n", i, data); mgr 588 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, "PCXHR : rmh->stat_len=%x too big\n", mgr 595 sound/pci/pcxhr/pcxhr_core.c static int pcxhr_send_msg_nolock(struct pcxhr_mgr *mgr, struct pcxhr_rmh *rmh) mgr 604 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_send_it_dsp(mgr, PCXHR_IT_MESSAGE, 1); mgr 606 sound/pci/pcxhr/pcxhr_core.c dev_err(&mgr->pci->dev, mgr 611 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_check_reg_bit(mgr, PCXHR_DSP_ISR, PCXHR_ISR_HI08_CHK, mgr 616 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_send_it_dsp(mgr, PCXHR_IT_RESET_CHK, 1); mgr 620 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_check_reg_bit(mgr, PCXHR_DSP_ISR, PCXHR_ISR_HI08_CHK, 0, mgr 633 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, "MSG cmd[0]=%x (%s)\n", mgr 637 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_check_reg_bit(mgr, PCXHR_DSP_ISR, PCXHR_ISR_HI08_TRDY, mgr 641 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_TXH, (data>>16)&0xFF); mgr 642 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_TXM, (data>>8)&0xFF); mgr 643 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_TXL, (data&0xFF)); mgr 648 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_check_reg_bit(mgr, PCXHR_DSP_ISR, mgr 654 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_TXH, (data>>16)&0xFF); mgr 655 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_TXM, (data>>8)&0xFF); mgr 656 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_TXL, (data&0xFF)); mgr 663 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, mgr 666 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_check_reg_bit(mgr, PCXHR_DSP_ISR, mgr 672 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_TXH, (data>>16)&0xFF); mgr 673 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_TXM, (data>>8)&0xFF); mgr 674 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPB(mgr, PCXHR_DSP_TXL, (data&0xFF)); mgr 678 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_check_reg_bit(mgr, PCXHR_DSP_ISR, PCXHR_ISR_HI08_CHK, mgr 685 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_check_reg_bit(mgr, PCXHR_DSP_ISR, mgr 690 sound/pci/pcxhr/pcxhr_core.c dev_err(&mgr->pci->dev, mgr 695 sound/pci/pcxhr/pcxhr_core.c data = PCXHR_INPB(mgr, PCXHR_DSP_TXH) << 16; mgr 696 sound/pci/pcxhr/pcxhr_core.c data |= PCXHR_INPB(mgr, PCXHR_DSP_TXM) << 8; mgr 697 sound/pci/pcxhr/pcxhr_core.c data |= PCXHR_INPB(mgr, PCXHR_DSP_TXL); mgr 698 sound/pci/pcxhr/pcxhr_core.c dev_err(&mgr->pci->dev, "ERROR RMH(%d): 0x%x\n", mgr 703 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_read_rmh_status(mgr, rmh); mgr 706 sound/pci/pcxhr/pcxhr_core.c if (pcxhr_send_it_dsp(mgr, PCXHR_IT_RESET_SEMAPHORE, 1) < 0) mgr 755 sound/pci/pcxhr/pcxhr_core.c int pcxhr_send_msg(struct pcxhr_mgr *mgr, struct pcxhr_rmh *rmh) mgr 759 sound/pci/pcxhr/pcxhr_core.c mutex_lock(&mgr->msg_lock); mgr 760 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_send_msg_nolock(mgr, rmh); mgr 761 sound/pci/pcxhr/pcxhr_core.c mutex_unlock(&mgr->msg_lock); mgr 765 sound/pci/pcxhr/pcxhr_core.c static inline int pcxhr_pipes_running(struct pcxhr_mgr *mgr) mgr 767 sound/pci/pcxhr/pcxhr_core.c int start_mask = PCXHR_INPL(mgr, PCXHR_PLX_MBOX2); mgr 774 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, "CMD_PIPE_STATE MBOX2=0x%06x\n", start_mask); mgr 781 sound/pci/pcxhr/pcxhr_core.c static int pcxhr_prepair_pipe_start(struct pcxhr_mgr *mgr, mgr 801 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_send_msg(mgr, &rmh); mgr 803 sound/pci/pcxhr/pcxhr_core.c dev_err(&mgr->pci->dev, mgr 821 sound/pci/pcxhr/pcxhr_core.c static int pcxhr_stop_pipes(struct pcxhr_mgr *mgr, int audio_mask) mgr 839 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_send_msg(mgr, &rmh); mgr 841 sound/pci/pcxhr/pcxhr_core.c dev_err(&mgr->pci->dev, mgr 853 sound/pci/pcxhr/pcxhr_core.c static int pcxhr_toggle_pipes(struct pcxhr_mgr *mgr, int audio_mask) mgr 868 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_send_msg(mgr, &rmh); mgr 870 sound/pci/pcxhr/pcxhr_core.c dev_err(&mgr->pci->dev, mgr 881 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_send_msg(mgr, &rmh); mgr 883 sound/pci/pcxhr/pcxhr_core.c dev_err(&mgr->pci->dev, mgr 893 sound/pci/pcxhr/pcxhr_core.c int pcxhr_set_pipe_state(struct pcxhr_mgr *mgr, int playback_mask, mgr 907 sound/pci/pcxhr/pcxhr_core.c state = pcxhr_pipes_running(mgr); mgr 908 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, mgr 916 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_prepair_pipe_start(mgr, state, &state); mgr 929 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_toggle_pipes(mgr, audio_mask); mgr 935 sound/pci/pcxhr/pcxhr_core.c state = pcxhr_pipes_running(mgr); mgr 940 sound/pci/pcxhr/pcxhr_core.c dev_err(&mgr->pci->dev, "error pipe start/stop\n"); mgr 946 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_stop_pipes(mgr, audio_mask); mgr 953 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, "***SET PIPE STATE*** TIME = %ld (err = %x)\n", mgr 959 sound/pci/pcxhr/pcxhr_core.c int pcxhr_write_io_num_reg_cont(struct pcxhr_mgr *mgr, unsigned int mask, mgr 965 sound/pci/pcxhr/pcxhr_core.c mutex_lock(&mgr->msg_lock); mgr 966 sound/pci/pcxhr/pcxhr_core.c if ((mgr->io_num_reg_cont & mask) == value) { mgr 967 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, mgr 972 sound/pci/pcxhr/pcxhr_core.c mutex_unlock(&mgr->msg_lock); mgr 980 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_send_msg_nolock(mgr, &rmh); mgr 982 sound/pci/pcxhr/pcxhr_core.c mgr->io_num_reg_cont &= ~mask; mgr 983 sound/pci/pcxhr/pcxhr_core.c mgr->io_num_reg_cont |= value; mgr 987 sound/pci/pcxhr/pcxhr_core.c mutex_unlock(&mgr->msg_lock); mgr 1005 sound/pci/pcxhr/pcxhr_core.c static int pcxhr_handle_async_err(struct pcxhr_mgr *mgr, u32 err, mgr 1021 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, "CMD_ASYNC : Error %s %s Pipe %d err=%x\n", mgr 1025 sound/pci/pcxhr/pcxhr_core.c mgr->async_err_stream_xrun++; mgr 1027 sound/pci/pcxhr/pcxhr_core.c mgr->async_err_pipe_xrun++; mgr 1029 sound/pci/pcxhr/pcxhr_core.c mgr->async_err_other_last = (int)err; mgr 1034 sound/pci/pcxhr/pcxhr_core.c static void pcxhr_msg_thread(struct pcxhr_mgr *mgr) mgr 1036 sound/pci/pcxhr/pcxhr_core.c struct pcxhr_rmh *prmh = mgr->prmh; mgr 1040 sound/pci/pcxhr/pcxhr_core.c if (mgr->src_it_dsp & PCXHR_IRQ_FREQ_CHANGE) mgr 1041 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, mgr 1043 sound/pci/pcxhr/pcxhr_core.c if (mgr->src_it_dsp & PCXHR_IRQ_TIME_CODE) mgr 1044 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, mgr 1046 sound/pci/pcxhr/pcxhr_core.c if (mgr->src_it_dsp & PCXHR_IRQ_NOTIFY) mgr 1047 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, mgr 1049 sound/pci/pcxhr/pcxhr_core.c if (mgr->src_it_dsp & (PCXHR_IRQ_FREQ_CHANGE | PCXHR_IRQ_TIME_CODE)) { mgr 1052 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_send_msg(mgr, prmh); mgr 1053 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, "CMD_TEST_IT : err=%x, stat=%x\n", mgr 1056 sound/pci/pcxhr/pcxhr_core.c if (mgr->src_it_dsp & PCXHR_IRQ_ASYNC) { mgr 1057 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, mgr 1064 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_send_msg(mgr, prmh); mgr 1066 sound/pci/pcxhr/pcxhr_core.c dev_err(&mgr->pci->dev, "ERROR pcxhr_msg_thread=%x;\n", mgr 1079 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, mgr 1087 sound/pci/pcxhr/pcxhr_core.c pcxhr_handle_async_err(mgr, err2, mgr 1095 sound/pci/pcxhr/pcxhr_core.c pcxhr_handle_async_err(mgr, err2, mgr 1105 sound/pci/pcxhr/pcxhr_core.c pcxhr_handle_async_err(mgr, err2, mgr 1115 sound/pci/pcxhr/pcxhr_core.c static u_int64_t pcxhr_stream_read_position(struct pcxhr_mgr *mgr, mgr 1130 sound/pci/pcxhr/pcxhr_core.c err = pcxhr_send_msg(mgr, &rmh); mgr 1137 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, mgr 1143 sound/pci/pcxhr/pcxhr_core.c mgr->granularity); mgr 1147 sound/pci/pcxhr/pcxhr_core.c static void pcxhr_update_timer_pos(struct pcxhr_mgr *mgr, mgr 1161 sound/pci/pcxhr/pcxhr_core.c samples_to_add = mgr->granularity; mgr 1169 sound/pci/pcxhr/pcxhr_core.c pcxhr_stream_read_position(mgr, stream); mgr 1171 sound/pci/pcxhr/pcxhr_core.c if (new_sample_count >= mgr->granularity) { mgr 1176 sound/pci/pcxhr/pcxhr_core.c new_sample_count -= mgr->granularity; mgr 1204 sound/pci/pcxhr/pcxhr_core.c dev_err(&mgr->pci->dev, mgr 1210 sound/pci/pcxhr/pcxhr_core.c mutex_unlock(&mgr->lock); mgr 1212 sound/pci/pcxhr/pcxhr_core.c mutex_lock(&mgr->lock); mgr 1219 sound/pci/pcxhr/pcxhr_core.c struct pcxhr_mgr *mgr = dev_id; mgr 1223 sound/pci/pcxhr/pcxhr_core.c reg = PCXHR_INPL(mgr, PCXHR_PLX_IRQCS); mgr 1230 sound/pci/pcxhr/pcxhr_core.c reg = PCXHR_INPL(mgr, PCXHR_PLX_L2PCIDB); mgr 1231 sound/pci/pcxhr/pcxhr_core.c PCXHR_OUTPL(mgr, PCXHR_PLX_L2PCIDB, reg); mgr 1236 sound/pci/pcxhr/pcxhr_core.c if (timer_toggle == mgr->timer_toggle) { mgr 1237 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, "ERROR TIMER TOGGLE\n"); mgr 1238 sound/pci/pcxhr/pcxhr_core.c mgr->dsp_time_err++; mgr 1241 sound/pci/pcxhr/pcxhr_core.c mgr->timer_toggle = timer_toggle; mgr 1242 sound/pci/pcxhr/pcxhr_core.c mgr->src_it_dsp = reg; mgr 1253 sound/pci/pcxhr/pcxhr_core.c mgr->dsp_time_last = PCXHR_DSP_TIME_INVALID; mgr 1255 sound/pci/pcxhr/pcxhr_core.c mgr->src_it_dsp = reg; mgr 1260 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, "FATAL DSP ERROR : %x\n", reg); mgr 1268 sound/pci/pcxhr/pcxhr_core.c struct pcxhr_mgr *mgr = dev_id; mgr 1272 sound/pci/pcxhr/pcxhr_core.c mutex_lock(&mgr->lock); mgr 1273 sound/pci/pcxhr/pcxhr_core.c if (mgr->src_it_dsp & PCXHR_IRQ_TIMER) { mgr 1276 sound/pci/pcxhr/pcxhr_core.c PCXHR_INPL(mgr, PCXHR_PLX_MBOX4) & PCXHR_DSP_TIME_MASK; mgr 1277 sound/pci/pcxhr/pcxhr_core.c int dsp_time_diff = dsp_time_new - mgr->dsp_time_last; mgr 1280 sound/pci/pcxhr/pcxhr_core.c (mgr->dsp_time_last != PCXHR_DSP_TIME_INVALID)) { mgr 1283 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, mgr 1285 sound/pci/pcxhr/pcxhr_core.c mgr->dsp_time_last, dsp_time_new); mgr 1286 sound/pci/pcxhr/pcxhr_core.c if (tmp_diff > 0 && tmp_diff <= (2*mgr->granularity)) { mgr 1287 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, mgr 1292 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, mgr 1294 sound/pci/pcxhr/pcxhr_core.c mgr->dsp_time_err++; mgr 1299 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, mgr 1302 sound/pci/pcxhr/pcxhr_core.c else if (dsp_time_diff >= (2*mgr->granularity)) mgr 1303 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, mgr 1305 sound/pci/pcxhr/pcxhr_core.c mgr->dsp_time_last, mgr 1306 sound/pci/pcxhr/pcxhr_core.c dsp_time_new - mgr->dsp_time_last); mgr 1307 sound/pci/pcxhr/pcxhr_core.c else if (dsp_time_diff % mgr->granularity) mgr 1308 sound/pci/pcxhr/pcxhr_core.c dev_dbg(&mgr->pci->dev, mgr 1312 sound/pci/pcxhr/pcxhr_core.c mgr->dsp_time_last = dsp_time_new; mgr 1314 sound/pci/pcxhr/pcxhr_core.c for (i = 0; i < mgr->num_cards; i++) { mgr 1315 sound/pci/pcxhr/pcxhr_core.c chip = mgr->chip[i]; mgr 1317 sound/pci/pcxhr/pcxhr_core.c pcxhr_update_timer_pos(mgr, mgr 1321 sound/pci/pcxhr/pcxhr_core.c for (i = 0; i < mgr->num_cards; i++) { mgr 1322 sound/pci/pcxhr/pcxhr_core.c chip = mgr->chip[i]; mgr 1324 sound/pci/pcxhr/pcxhr_core.c pcxhr_update_timer_pos(mgr, mgr 1330 sound/pci/pcxhr/pcxhr_core.c pcxhr_msg_thread(mgr); mgr 1331 sound/pci/pcxhr/pcxhr_core.c mutex_unlock(&mgr->lock); mgr 17 sound/pci/pcxhr/pcxhr_core.h void pcxhr_reset_xilinx_com(struct pcxhr_mgr *mgr); mgr 18 sound/pci/pcxhr/pcxhr_core.h void pcxhr_reset_dsp(struct pcxhr_mgr *mgr); mgr 19 sound/pci/pcxhr/pcxhr_core.h void pcxhr_enable_dsp(struct pcxhr_mgr *mgr); mgr 20 sound/pci/pcxhr/pcxhr_core.h int pcxhr_load_xilinx_binary(struct pcxhr_mgr *mgr, const struct firmware *xilinx, int second); mgr 21 sound/pci/pcxhr/pcxhr_core.h int pcxhr_load_eeprom_binary(struct pcxhr_mgr *mgr, const struct firmware *eeprom); mgr 22 sound/pci/pcxhr/pcxhr_core.h int pcxhr_load_boot_binary(struct pcxhr_mgr *mgr, const struct firmware *boot); mgr 23 sound/pci/pcxhr/pcxhr_core.h int pcxhr_load_dsp_binary(struct pcxhr_mgr *mgr, const struct firmware *dsp); mgr 93 sound/pci/pcxhr/pcxhr_core.h int pcxhr_send_msg(struct pcxhr_mgr *mgr, struct pcxhr_rmh *rmh); mgr 138 sound/pci/pcxhr/pcxhr_core.h int pcxhr_set_pipe_state(struct pcxhr_mgr *mgr, int playback_mask, int capture_mask, int start); mgr 140 sound/pci/pcxhr/pcxhr_core.h int pcxhr_write_io_num_reg_cont(struct pcxhr_mgr *mgr, unsigned int mask, mgr 25 sound/pci/pcxhr/pcxhr_hwdep.c static int pcxhr_sub_init(struct pcxhr_mgr *mgr); mgr 29 sound/pci/pcxhr/pcxhr_hwdep.c static int pcxhr_init_board(struct pcxhr_mgr *mgr) mgr 36 sound/pci/pcxhr/pcxhr_hwdep.c if (mgr->mono_capture) mgr 37 sound/pci/pcxhr/pcxhr_hwdep.c card_streams = mgr->capture_chips * 2; mgr 39 sound/pci/pcxhr/pcxhr_hwdep.c card_streams = mgr->capture_chips; mgr 40 sound/pci/pcxhr/pcxhr_hwdep.c card_streams += mgr->playback_chips * PCXHR_PLAYBACK_STREAMS; mgr 43 sound/pci/pcxhr/pcxhr_hwdep.c pcxhr_enable_dsp(mgr); mgr 46 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_send_msg(mgr, &rmh); mgr 50 sound/pci/pcxhr/pcxhr_hwdep.c if ((rmh.stat[0] & MASK_FIRST_FIELD) < mgr->playback_chips * 2) mgr 54 sound/pci/pcxhr/pcxhr_hwdep.c mgr->capture_chips * 2) mgr 62 sound/pci/pcxhr/pcxhr_hwdep.c dev_dbg(&mgr->pci->dev, mgr 68 sound/pci/pcxhr/pcxhr_hwdep.c rmh.cmd[0] |= mgr->firmware_num; mgr 70 sound/pci/pcxhr/pcxhr_hwdep.c rmh.cmd[1] = (1<<23) + mgr->granularity; mgr 72 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_send_msg(mgr, &rmh); mgr 75 sound/pci/pcxhr/pcxhr_hwdep.c dev_dbg(&mgr->pci->dev, mgr 78 sound/pci/pcxhr/pcxhr_hwdep.c mgr->dsp_version = rmh.stat[0]; mgr 80 sound/pci/pcxhr/pcxhr_hwdep.c if (mgr->is_hr_stereo) mgr 81 sound/pci/pcxhr/pcxhr_hwdep.c err = hr222_sub_init(mgr); mgr 83 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_sub_init(mgr); mgr 87 sound/pci/pcxhr/pcxhr_hwdep.c static int pcxhr_sub_init(struct pcxhr_mgr *mgr) mgr 97 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_send_msg(mgr, &rmh); mgr 103 sound/pci/pcxhr/pcxhr_hwdep.c mgr->board_has_analog = 1; /* analog addon board found */ mgr 106 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_write_io_num_reg_cont(mgr, REG_CONT_UNMUTE_INPUTS, mgr 113 sound/pci/pcxhr/pcxhr_hwdep.c if (DSP_EXT_CMD_SET(mgr)) { mgr 117 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_send_msg(mgr, &rmh); mgr 121 sound/pci/pcxhr/pcxhr_hwdep.c void pcxhr_reset_board(struct pcxhr_mgr *mgr) mgr 125 sound/pci/pcxhr/pcxhr_hwdep.c if (mgr->dsp_loaded & (1 << PCXHR_FIRMWARE_DSP_MAIN_INDEX)) { mgr 127 sound/pci/pcxhr/pcxhr_hwdep.c if (!mgr->is_hr_stereo) { mgr 131 sound/pci/pcxhr/pcxhr_hwdep.c pcxhr_send_msg(mgr, &rmh); mgr 133 sound/pci/pcxhr/pcxhr_hwdep.c pcxhr_write_io_num_reg_cont(mgr, REG_CONT_UNMUTE_INPUTS, mgr 139 sound/pci/pcxhr/pcxhr_hwdep.c if (mgr->dsp_loaded & (1 << PCXHR_FIRMWARE_DSP_EPRM_INDEX)) mgr 140 sound/pci/pcxhr/pcxhr_hwdep.c pcxhr_reset_dsp(mgr); mgr 142 sound/pci/pcxhr/pcxhr_hwdep.c if (mgr->dsp_loaded & (1 << PCXHR_FIRMWARE_XLX_COM_INDEX)) { mgr 143 sound/pci/pcxhr/pcxhr_hwdep.c pcxhr_reset_xilinx_com(mgr); mgr 144 sound/pci/pcxhr/pcxhr_hwdep.c mgr->dsp_loaded = 1; mgr 153 sound/pci/pcxhr/pcxhr_hwdep.c static int pcxhr_dsp_allocate_pipe(struct pcxhr_mgr *mgr, mgr 163 sound/pci/pcxhr/pcxhr_hwdep.c if (mgr->mono_capture) mgr 171 sound/pci/pcxhr/pcxhr_hwdep.c dev_dbg(&mgr->pci->dev, "snd_add_ref_pipe pin(%d) pcm%c0\n", mgr 180 sound/pci/pcxhr/pcxhr_hwdep.c if (DSP_EXT_CMD_SET(mgr)) { mgr 184 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_send_msg(mgr, &rmh); mgr 186 sound/pci/pcxhr/pcxhr_hwdep.c dev_err(&mgr->pci->dev, "error pipe allocation " mgr 199 sound/pci/pcxhr/pcxhr_hwdep.c static int pcxhr_dsp_free_pipe( struct pcxhr_mgr *mgr, struct pcxhr_pipe *pipe) mgr 212 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_set_pipe_state(mgr, playback_mask, capture_mask, 0); mgr 214 sound/pci/pcxhr/pcxhr_hwdep.c dev_err(&mgr->pci->dev, "error stopping pipe!\n"); mgr 219 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_send_msg(mgr, &rmh); mgr 221 sound/pci/pcxhr/pcxhr_hwdep.c dev_err(&mgr->pci->dev, "error pipe release " mgr 229 sound/pci/pcxhr/pcxhr_hwdep.c static int pcxhr_config_pipes(struct pcxhr_mgr *mgr) mgr 236 sound/pci/pcxhr/pcxhr_hwdep.c for (i = 0; i < mgr->num_cards; i++) { mgr 237 sound/pci/pcxhr/pcxhr_hwdep.c chip = mgr->chip[i]; mgr 240 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_dsp_allocate_pipe( mgr, pipe, 0, i*2); mgr 248 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_dsp_allocate_pipe(mgr, pipe, 1, i*2 + j); mgr 257 sound/pci/pcxhr/pcxhr_hwdep.c static int pcxhr_start_pipes(struct pcxhr_mgr *mgr) mgr 265 sound/pci/pcxhr/pcxhr_hwdep.c for (i = 0; i < mgr->num_cards; i++) { mgr 266 sound/pci/pcxhr/pcxhr_hwdep.c chip = mgr->chip[i]; mgr 272 sound/pci/pcxhr/pcxhr_hwdep.c return pcxhr_set_pipe_state(mgr, playback_mask, capture_mask, 1); mgr 276 sound/pci/pcxhr/pcxhr_hwdep.c static int pcxhr_dsp_load(struct pcxhr_mgr *mgr, int index, mgr 281 sound/pci/pcxhr/pcxhr_hwdep.c dev_dbg(&mgr->pci->dev, mgr 286 sound/pci/pcxhr/pcxhr_hwdep.c pcxhr_reset_xilinx_com(mgr); mgr 287 sound/pci/pcxhr/pcxhr_hwdep.c return pcxhr_load_xilinx_binary(mgr, dsp, 0); mgr 290 sound/pci/pcxhr/pcxhr_hwdep.c pcxhr_reset_xilinx_com(mgr); mgr 291 sound/pci/pcxhr/pcxhr_hwdep.c return pcxhr_load_xilinx_binary(mgr, dsp, 1); mgr 294 sound/pci/pcxhr/pcxhr_hwdep.c pcxhr_reset_dsp(mgr); mgr 295 sound/pci/pcxhr/pcxhr_hwdep.c return pcxhr_load_eeprom_binary(mgr, dsp); mgr 298 sound/pci/pcxhr/pcxhr_hwdep.c return pcxhr_load_boot_binary(mgr, dsp); mgr 301 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_load_dsp_binary(mgr, dsp); mgr 306 sound/pci/pcxhr/pcxhr_hwdep.c dev_err(&mgr->pci->dev, "wrong file index\n"); mgr 311 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_init_board(mgr); mgr 313 sound/pci/pcxhr/pcxhr_hwdep.c dev_err(&mgr->pci->dev, "pcxhr could not be set up\n"); mgr 316 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_config_pipes(mgr); mgr 318 sound/pci/pcxhr/pcxhr_hwdep.c dev_err(&mgr->pci->dev, "pcxhr pipes could not be set up\n"); mgr 322 sound/pci/pcxhr/pcxhr_hwdep.c for (card_index = 0; card_index < mgr->num_cards; card_index++) { mgr 323 sound/pci/pcxhr/pcxhr_hwdep.c struct snd_pcxhr *chip = mgr->chip[card_index]; mgr 329 sound/pci/pcxhr/pcxhr_hwdep.c if ((err = pcxhr_create_mixer(chip->mgr)) < 0) mgr 335 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_start_pipes(mgr); mgr 337 sound/pci/pcxhr/pcxhr_hwdep.c dev_err(&mgr->pci->dev, "pcxhr pipes could not be started\n"); mgr 340 sound/pci/pcxhr/pcxhr_hwdep.c dev_dbg(&mgr->pci->dev, mgr 349 sound/pci/pcxhr/pcxhr_hwdep.c int pcxhr_setup_firmware(struct pcxhr_mgr *mgr) mgr 369 sound/pci/pcxhr/pcxhr_hwdep.c int fw_set = mgr->fw_file_set; mgr 375 sound/pci/pcxhr/pcxhr_hwdep.c if (request_firmware(&fw_entry, path, &mgr->pci->dev)) { mgr 376 sound/pci/pcxhr/pcxhr_hwdep.c dev_err(&mgr->pci->dev, mgr 382 sound/pci/pcxhr/pcxhr_hwdep.c err = pcxhr_dsp_load(mgr, i, fw_entry); mgr 386 sound/pci/pcxhr/pcxhr_hwdep.c mgr->dsp_loaded |= 1 << i; mgr 24 sound/pci/pcxhr/pcxhr_hwdep.h int pcxhr_setup_firmware(struct pcxhr_mgr *mgr); mgr 25 sound/pci/pcxhr/pcxhr_hwdep.h void pcxhr_reset_board(struct pcxhr_mgr *mgr); mgr 36 sound/pci/pcxhr/pcxhr_mix22.c #define PCXHR_INPB(mgr, x) inb((mgr)->port[PCXHR_DSP] + (x)) mgr 37 sound/pci/pcxhr/pcxhr_mix22.c #define PCXHR_OUTPB(mgr, x, data) outb((data), (mgr)->port[PCXHR_DSP] + (x)) mgr 206 sound/pci/pcxhr/pcxhr_mix22.c static void hr222_config_akm(struct pcxhr_mgr *mgr, unsigned short data) mgr 210 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_INPB(mgr, PCXHR_XLX_HIFREQ); mgr 213 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(mgr, PCXHR_XLX_DATA, mgr 218 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_INPB(mgr, PCXHR_XLX_RUER); mgr 222 sound/pci/pcxhr/pcxhr_mix22.c static int hr222_set_hw_playback_level(struct pcxhr_mgr *mgr, mgr 239 sound/pci/pcxhr/pcxhr_mix22.c hr222_config_akm(mgr, cmd); mgr 244 sound/pci/pcxhr/pcxhr_mix22.c static int hr222_set_hw_capture_level(struct pcxhr_mgr *mgr, mgr 251 sound/pci/pcxhr/pcxhr_mix22.c if (!mgr->capture_chips) mgr 259 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_INPB(mgr, PCXHR_XLX_DATA); /* activate input codec */ mgr 262 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(mgr, PCXHR_XLX_DATA, mgr 265 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_INPB(mgr, PCXHR_XLX_RUER); /* close input level codec */ mgr 269 sound/pci/pcxhr/pcxhr_mix22.c static void hr222_micro_boost(struct pcxhr_mgr *mgr, int level); mgr 271 sound/pci/pcxhr/pcxhr_mix22.c int hr222_sub_init(struct pcxhr_mgr *mgr) mgr 275 sound/pci/pcxhr/pcxhr_mix22.c mgr->board_has_analog = 1; /* analog always available */ mgr 276 sound/pci/pcxhr/pcxhr_mix22.c mgr->xlx_cfg = PCXHR_CFG_SYNCDSP_MASK; mgr 278 sound/pci/pcxhr/pcxhr_mix22.c reg = PCXHR_INPB(mgr, PCXHR_XLX_STATUS); mgr 280 sound/pci/pcxhr/pcxhr_mix22.c mgr->board_has_mic = 1; /* microphone available */ mgr 281 sound/pci/pcxhr/pcxhr_mix22.c dev_dbg(&mgr->pci->dev, mgr 282 sound/pci/pcxhr/pcxhr_mix22.c "MIC input available = %d\n", mgr->board_has_mic); mgr 285 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(mgr, PCXHR_DSP_RESET, mgr 288 sound/pci/pcxhr/pcxhr_mix22.c mgr->dsp_reset = PCXHR_DSP_RESET_DSP | mgr 291 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(mgr, PCXHR_DSP_RESET, mgr->dsp_reset); mgr 296 sound/pci/pcxhr/pcxhr_mix22.c hr222_config_akm(mgr, AKM_POWER_CONTROL_CMD); mgr 297 sound/pci/pcxhr/pcxhr_mix22.c hr222_config_akm(mgr, AKM_CLOCK_INF_55K_CMD); mgr 298 sound/pci/pcxhr/pcxhr_mix22.c hr222_config_akm(mgr, AKM_UNMUTE_CMD); mgr 299 sound/pci/pcxhr/pcxhr_mix22.c hr222_config_akm(mgr, AKM_RESET_OFF_CMD); mgr 302 sound/pci/pcxhr/pcxhr_mix22.c hr222_micro_boost(mgr, 0); mgr 338 sound/pci/pcxhr/pcxhr_mix22.c int hr222_sub_set_clock(struct pcxhr_mgr *mgr, mgr 346 sound/pci/pcxhr/pcxhr_mix22.c switch (mgr->use_clock_type) { mgr 352 sound/pci/pcxhr/pcxhr_mix22.c mgr->xlx_cfg &= ~(PCXHR_CFG_CLOCKIN_SEL_MASK | mgr 356 sound/pci/pcxhr/pcxhr_mix22.c mgr->xlx_cfg |= PCXHR_CFG_CLOCKIN_SEL_MASK; mgr 357 sound/pci/pcxhr/pcxhr_mix22.c mgr->xlx_cfg &= ~PCXHR_CFG_CLOCK_UER1_SEL_MASK; mgr 360 sound/pci/pcxhr/pcxhr_mix22.c if (!mgr->board_has_aes1) mgr 363 sound/pci/pcxhr/pcxhr_mix22.c mgr->xlx_cfg |= (PCXHR_CFG_CLOCKIN_SEL_MASK | mgr 369 sound/pci/pcxhr/pcxhr_mix22.c hr222_config_akm(mgr, AKM_MUTE_CMD); mgr 371 sound/pci/pcxhr/pcxhr_mix22.c if (mgr->use_clock_type == HR22_CLOCK_TYPE_INTERNAL) { mgr 372 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(mgr, PCXHR_XLX_HIFREQ, pllreg >> 8); mgr 373 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(mgr, PCXHR_XLX_LOFREQ, pllreg & 0xff); mgr 377 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(mgr, PCXHR_XLX_CFG, mgr->xlx_cfg); mgr 381 sound/pci/pcxhr/pcxhr_mix22.c if (mgr->codec_speed != speed) { mgr 382 sound/pci/pcxhr/pcxhr_mix22.c mgr->codec_speed = speed; mgr 384 sound/pci/pcxhr/pcxhr_mix22.c hr222_config_akm(mgr, AKM_CLOCK_INF_55K_CMD); mgr 386 sound/pci/pcxhr/pcxhr_mix22.c hr222_config_akm(mgr, AKM_CLOCK_SUP_55K_CMD); mgr 389 sound/pci/pcxhr/pcxhr_mix22.c mgr->sample_rate_real = realfreq; mgr 390 sound/pci/pcxhr/pcxhr_mix22.c mgr->cur_clock_type = mgr->use_clock_type; mgr 395 sound/pci/pcxhr/pcxhr_mix22.c hr222_config_akm(mgr, AKM_UNMUTE_CMD); mgr 397 sound/pci/pcxhr/pcxhr_mix22.c dev_dbg(&mgr->pci->dev, "set_clock to %dHz (realfreq=%d pllreg=%x)\n", mgr 402 sound/pci/pcxhr/pcxhr_mix22.c int hr222_get_external_clock(struct pcxhr_mgr *mgr, mgr 416 sound/pci/pcxhr/pcxhr_mix22.c } else if (clock_type == HR22_CLOCK_TYPE_AES_1 && mgr->board_has_aes1) { mgr 423 sound/pci/pcxhr/pcxhr_mix22.c dev_dbg(&mgr->pci->dev, mgr 429 sound/pci/pcxhr/pcxhr_mix22.c if ((PCXHR_INPB(mgr, PCXHR_XLX_CSUER) & mask) != mask) { mgr 430 sound/pci/pcxhr/pcxhr_mix22.c dev_dbg(&mgr->pci->dev, mgr 436 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(mgr, PCXHR_XLX_STATUS, reg); /* calculate freq */ mgr 441 sound/pci/pcxhr/pcxhr_mix22.c if (mgr->last_reg_stat != reg) { mgr 443 sound/pci/pcxhr/pcxhr_mix22.c mgr->last_reg_stat = reg; mgr 446 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(mgr, PCXHR_XLX_STATUS, reg); /* save */ mgr 449 sound/pci/pcxhr/pcxhr_mix22.c ticks = (unsigned int)PCXHR_INPB(mgr, PCXHR_XLX_CFG); mgr 451 sound/pci/pcxhr/pcxhr_mix22.c ticks |= (unsigned int)PCXHR_INPB(mgr, PCXHR_DSP_RESET); mgr 489 sound/pci/pcxhr/pcxhr_mix22.c dev_dbg(&mgr->pci->dev, "External clock is at %d Hz (measured %d Hz)\n", mgr 496 sound/pci/pcxhr/pcxhr_mix22.c int hr222_read_gpio(struct pcxhr_mgr *mgr, int is_gpi, int *value) mgr 499 sound/pci/pcxhr/pcxhr_mix22.c unsigned char reg = PCXHR_INPB(mgr, PCXHR_XLX_STATUS); mgr 503 sound/pci/pcxhr/pcxhr_mix22.c *value = (int)(mgr->dsp_reset & PCXHR_DSP_RESET_GPO_MASK) >> mgr 510 sound/pci/pcxhr/pcxhr_mix22.c int hr222_write_gpo(struct pcxhr_mgr *mgr, int value) mgr 512 sound/pci/pcxhr/pcxhr_mix22.c unsigned char reg = mgr->dsp_reset & ~PCXHR_DSP_RESET_GPO_MASK; mgr 517 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(mgr, PCXHR_DSP_RESET, reg); mgr 518 sound/pci/pcxhr/pcxhr_mix22.c mgr->dsp_reset = reg; mgr 522 sound/pci/pcxhr/pcxhr_mix22.c int hr222_manage_timecode(struct pcxhr_mgr *mgr, int enable) mgr 525 sound/pci/pcxhr/pcxhr_mix22.c mgr->dsp_reset |= PCXHR_DSP_RESET_SMPTE; mgr 527 sound/pci/pcxhr/pcxhr_mix22.c mgr->dsp_reset &= ~PCXHR_DSP_RESET_SMPTE; mgr 529 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(mgr, PCXHR_DSP_RESET, mgr->dsp_reset); mgr 553 sound/pci/pcxhr/pcxhr_mix22.c return hr222_set_hw_capture_level(chip->mgr, mgr 561 sound/pci/pcxhr/pcxhr_mix22.c return hr222_set_hw_playback_level(chip->mgr, channel, vol); mgr 577 sound/pci/pcxhr/pcxhr_mix22.c chip->mgr->xlx_cfg &= ~(PCXHR_CFG_SRC_MASK | mgr 582 sound/pci/pcxhr/pcxhr_mix22.c chip->mgr->xlx_cfg |= PCXHR_CFG_SRC_MASK; mgr 589 sound/pci/pcxhr/pcxhr_mix22.c chip->mgr->xlx_cfg |= PCXHR_CFG_DATAIN_SEL_MASK; mgr 590 sound/pci/pcxhr/pcxhr_mix22.c if (chip->mgr->board_has_aes1) { mgr 592 sound/pci/pcxhr/pcxhr_mix22.c chip->mgr->xlx_cfg |= PCXHR_CFG_DATA_UER1_SEL_MASK; mgr 618 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(chip->mgr, PCXHR_XLX_CFG, chip->mgr->xlx_cfg); mgr 628 sound/pci/pcxhr/pcxhr_mix22.c unsigned char mask = chip->mgr->board_has_aes1 ? mgr 632 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(chip->mgr, PCXHR_XLX_RUER, idx++); /* idx < 192 */ mgr 634 sound/pci/pcxhr/pcxhr_mix22.c if (PCXHR_INPB(chip->mgr, PCXHR_XLX_CSUER) & mask) mgr 654 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(chip->mgr, PCXHR_XLX_RUER, idx); mgr 656 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(chip->mgr, PCXHR_XLX_CSUER, new_bits&0x01 ? mgr 667 sound/pci/pcxhr/pcxhr_mix22.c static void hr222_micro_boost(struct pcxhr_mgr *mgr, int level) mgr 674 sound/pci/pcxhr/pcxhr_mix22.c mgr->xlx_selmic &= ~PCXHR_SELMIC_PREAMPLI_MASK; mgr 675 sound/pci/pcxhr/pcxhr_mix22.c mgr->xlx_selmic |= boost_mask; mgr 677 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(mgr, PCXHR_XLX_SELMIC, mgr->xlx_selmic); mgr 679 sound/pci/pcxhr/pcxhr_mix22.c dev_dbg(&mgr->pci->dev, "hr222_micro_boost : set %x\n", boost_mask); mgr 682 sound/pci/pcxhr/pcxhr_mix22.c static void hr222_phantom_power(struct pcxhr_mgr *mgr, int power) mgr 685 sound/pci/pcxhr/pcxhr_mix22.c mgr->xlx_selmic |= PCXHR_SELMIC_PHANTOM_ALIM; mgr 687 sound/pci/pcxhr/pcxhr_mix22.c mgr->xlx_selmic &= ~PCXHR_SELMIC_PHANTOM_ALIM; mgr 689 sound/pci/pcxhr/pcxhr_mix22.c PCXHR_OUTPB(mgr, PCXHR_XLX_SELMIC, mgr->xlx_selmic); mgr 691 sound/pci/pcxhr/pcxhr_mix22.c dev_dbg(&mgr->pci->dev, "hr222_phantom_power : set %d\n", power); mgr 713 sound/pci/pcxhr/pcxhr_mix22.c mutex_lock(&chip->mgr->mixer_mutex); mgr 715 sound/pci/pcxhr/pcxhr_mix22.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 724 sound/pci/pcxhr/pcxhr_mix22.c mutex_lock(&chip->mgr->mixer_mutex); mgr 730 sound/pci/pcxhr/pcxhr_mix22.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 763 sound/pci/pcxhr/pcxhr_mix22.c mutex_lock(&chip->mgr->mixer_mutex); mgr 765 sound/pci/pcxhr/pcxhr_mix22.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 774 sound/pci/pcxhr/pcxhr_mix22.c mutex_lock(&chip->mgr->mixer_mutex); mgr 778 sound/pci/pcxhr/pcxhr_mix22.c hr222_micro_boost(chip->mgr, chip->mic_boost); mgr 780 sound/pci/pcxhr/pcxhr_mix22.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 803 sound/pci/pcxhr/pcxhr_mix22.c mutex_lock(&chip->mgr->mixer_mutex); mgr 805 sound/pci/pcxhr/pcxhr_mix22.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 815 sound/pci/pcxhr/pcxhr_mix22.c mutex_lock(&chip->mgr->mixer_mutex); mgr 818 sound/pci/pcxhr/pcxhr_mix22.c hr222_phantom_power(chip->mgr, power); mgr 822 sound/pci/pcxhr/pcxhr_mix22.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 838 sound/pci/pcxhr/pcxhr_mix22.c if (!chip->mgr->board_has_mic) mgr 15 sound/pci/pcxhr/pcxhr_mix22.h int hr222_sub_init(struct pcxhr_mgr *mgr); mgr 16 sound/pci/pcxhr/pcxhr_mix22.h int hr222_sub_set_clock(struct pcxhr_mgr *mgr, unsigned int rate, mgr 18 sound/pci/pcxhr/pcxhr_mix22.h int hr222_get_external_clock(struct pcxhr_mgr *mgr, mgr 22 sound/pci/pcxhr/pcxhr_mix22.h int hr222_read_gpio(struct pcxhr_mgr *mgr, int is_gpi, int *value); mgr 23 sound/pci/pcxhr/pcxhr_mix22.h int hr222_write_gpo(struct pcxhr_mgr *mgr, int value); mgr 24 sound/pci/pcxhr/pcxhr_mix22.h int hr222_manage_timecode(struct pcxhr_mgr *mgr, int enable); mgr 60 sound/pci/pcxhr/pcxhr_mixer.c err = pcxhr_send_msg(chip->mgr, &rmh); mgr 82 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->is_hr_stereo) { mgr 94 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->is_hr_stereo) { mgr 113 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 121 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 132 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 140 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->is_hr_stereo) { mgr 150 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->is_hr_stereo) { mgr 163 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->is_hr_stereo) mgr 171 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 195 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 198 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 207 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 215 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->is_hr_stereo) mgr 221 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 273 sound/pci/pcxhr/pcxhr_mixer.c err = pcxhr_send_msg(chip->mgr, &rmh); mgr 324 sound/pci/pcxhr/pcxhr_mixer.c err = pcxhr_send_msg(chip->mgr, &rmh); mgr 355 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 362 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 376 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 395 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 419 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 422 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 434 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 446 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 468 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 471 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 482 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 495 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 518 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 521 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 532 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 548 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 591 sound/pci/pcxhr/pcxhr_mixer.c pcxhr_write_io_num_reg_cont(chip->mgr, mask, reg, &changed); mgr 596 sound/pci/pcxhr/pcxhr_mixer.c err = pcxhr_send_msg(chip->mgr, &rmh); mgr 600 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->board_aes_in_192k) { mgr 604 sound/pci/pcxhr/pcxhr_mixer.c for (i = 0; (i < 4) && (i < chip->mgr->capture_chips); i++) { mgr 605 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->chip[i]->audio_capture_source == 2) mgr 613 sound/pci/pcxhr/pcxhr_mixer.c err = pcxhr_send_msg(chip->mgr, &rmh); mgr 625 sound/pci/pcxhr/pcxhr_mixer.c err = pcxhr_send_msg(chip->mgr, &rmh); mgr 630 sound/pci/pcxhr/pcxhr_mixer.c err = pcxhr_send_msg(chip->mgr, &rmh); mgr 645 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->board_has_aes1) { mgr 647 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->board_has_mic) mgr 667 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->board_has_aes1) { mgr 669 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->board_has_mic) mgr 674 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 677 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->is_hr_stereo) mgr 683 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 725 sound/pci/pcxhr/pcxhr_mixer.c struct pcxhr_mgr *mgr = snd_kcontrol_chip(kcontrol); mgr 727 sound/pci/pcxhr/pcxhr_mixer.c if (mgr->board_has_aes1) { mgr 728 sound/pci/pcxhr/pcxhr_mixer.c clock_items += mgr->capture_chips; /* add AES x */ mgr 729 sound/pci/pcxhr/pcxhr_mixer.c if (!mgr->is_hr_stereo) mgr 732 sound/pci/pcxhr/pcxhr_mixer.c if (mgr->is_hr_stereo) { mgr 745 sound/pci/pcxhr/pcxhr_mixer.c struct pcxhr_mgr *mgr = snd_kcontrol_chip(kcontrol); mgr 746 sound/pci/pcxhr/pcxhr_mixer.c ucontrol->value.enumerated.item[0] = mgr->use_clock_type; mgr 753 sound/pci/pcxhr/pcxhr_mixer.c struct pcxhr_mgr *mgr = snd_kcontrol_chip(kcontrol); mgr 756 sound/pci/pcxhr/pcxhr_mixer.c if (mgr->board_has_aes1) { mgr 757 sound/pci/pcxhr/pcxhr_mixer.c clock_items += mgr->capture_chips; /* add AES x */ mgr 758 sound/pci/pcxhr/pcxhr_mixer.c if (!mgr->is_hr_stereo) mgr 763 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&mgr->mixer_mutex); mgr 764 sound/pci/pcxhr/pcxhr_mixer.c if (mgr->use_clock_type != ucontrol->value.enumerated.item[0]) { mgr 765 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&mgr->setup_mutex); mgr 766 sound/pci/pcxhr/pcxhr_mixer.c mgr->use_clock_type = ucontrol->value.enumerated.item[0]; mgr 768 sound/pci/pcxhr/pcxhr_mixer.c if (mgr->use_clock_type != PCXHR_CLOCK_TYPE_INTERNAL) { mgr 769 sound/pci/pcxhr/pcxhr_mixer.c pcxhr_get_external_clock(mgr, mgr->use_clock_type, mgr 772 sound/pci/pcxhr/pcxhr_mixer.c rate = mgr->sample_rate; mgr 777 sound/pci/pcxhr/pcxhr_mixer.c pcxhr_set_clock(mgr, rate); mgr 778 sound/pci/pcxhr/pcxhr_mixer.c if (mgr->sample_rate) mgr 779 sound/pci/pcxhr/pcxhr_mixer.c mgr->sample_rate = rate; mgr 781 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&mgr->setup_mutex); mgr 784 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&mgr->mixer_mutex); mgr 803 sound/pci/pcxhr/pcxhr_mixer.c struct pcxhr_mgr *mgr = snd_kcontrol_chip(kcontrol); mgr 805 sound/pci/pcxhr/pcxhr_mixer.c uinfo->count = 3 + mgr->capture_chips; mgr 814 sound/pci/pcxhr/pcxhr_mixer.c struct pcxhr_mgr *mgr = snd_kcontrol_chip(kcontrol); mgr 817 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&mgr->mixer_mutex); mgr 818 sound/pci/pcxhr/pcxhr_mixer.c for(i = 0; i < 3 + mgr->capture_chips; i++) { mgr 820 sound/pci/pcxhr/pcxhr_mixer.c rate = mgr->sample_rate_real; mgr 822 sound/pci/pcxhr/pcxhr_mixer.c err = pcxhr_get_external_clock(mgr, i, &rate); mgr 828 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&mgr->mixer_mutex); mgr 868 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->board_aes_in_192k) { mgr 893 sound/pci/pcxhr/pcxhr_mixer.c err = pcxhr_send_msg(chip->mgr, &rmh); mgr 897 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->board_aes_in_192k) { mgr 921 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 926 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->is_hr_stereo) mgr 937 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 973 sound/pci/pcxhr/pcxhr_mixer.c err = pcxhr_send_msg(chip->mgr, &rmh); mgr 991 sound/pci/pcxhr/pcxhr_mixer.c mutex_lock(&chip->mgr->mixer_mutex); mgr 994 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->is_hr_stereo) mgr 1003 sound/pci/pcxhr/pcxhr_mixer.c mutex_unlock(&chip->mgr->mixer_mutex); mgr 1062 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->is_hr_stereo) mgr 1072 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->is_hr_stereo) mgr 1084 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->is_hr_stereo) mgr 1094 sound/pci/pcxhr/pcxhr_mixer.c if (chip->mgr->is_hr_stereo) mgr 1103 sound/pci/pcxhr/pcxhr_mixer.c int pcxhr_create_mixer(struct pcxhr_mgr *mgr) mgr 1108 sound/pci/pcxhr/pcxhr_mixer.c mutex_init(&mgr->mixer_mutex); /* can be in another place */ mgr 1110 sound/pci/pcxhr/pcxhr_mixer.c for (i = 0; i < mgr->num_cards; i++) { mgr 1112 sound/pci/pcxhr/pcxhr_mixer.c chip = mgr->chip[i]; mgr 1119 sound/pci/pcxhr/pcxhr_mixer.c if (mgr->is_hr_stereo) mgr 1167 sound/pci/pcxhr/pcxhr_mixer.c if (mgr->is_hr_stereo) mgr 1206 sound/pci/pcxhr/pcxhr_mixer.c if (mgr->is_hr_stereo) { mgr 1229 sound/pci/pcxhr/pcxhr_mixer.c snd_ctl_new1(&pcxhr_control_clock_type, mgr)); mgr 1236 sound/pci/pcxhr/pcxhr_mixer.c snd_ctl_new1(&pcxhr_control_clock_rate, mgr)); mgr 14 sound/pci/pcxhr/pcxhr_mixer.h int pcxhr_create_mixer(struct pcxhr_mgr *mgr);