ao_cec            333 drivers/media/platform/meson/ao-cec-g12a.c static int meson_ao_cec_g12a_setup_clk(struct meson_ao_cec_g12a_device *ao_cec)
ao_cec            336 drivers/media/platform/meson/ao-cec-g12a.c 	struct device *dev = &ao_cec->pdev->dev;
ao_cec            350 drivers/media/platform/meson/ao-cec-g12a.c 	parent_name = __clk_get_name(ao_cec->oscin);
ao_cec            357 drivers/media/platform/meson/ao-cec-g12a.c 	dualdiv_clk->regmap = ao_cec->regmap;
ao_cec            367 drivers/media/platform/meson/ao-cec-g12a.c 	ao_cec->core = clk;
ao_cec            375 drivers/media/platform/meson/ao-cec-g12a.c 	struct meson_ao_cec_g12a_device *ao_cec = context;
ao_cec            379 drivers/media/platform/meson/ao-cec-g12a.c 	ret = regmap_write(ao_cec->regmap, CECB_RW_REG, reg);
ao_cec            383 drivers/media/platform/meson/ao-cec-g12a.c 	ret = regmap_read_poll_timeout(ao_cec->regmap, CECB_RW_REG, reg,
ao_cec            389 drivers/media/platform/meson/ao-cec-g12a.c 	ret = regmap_read(ao_cec->regmap, CECB_RW_REG, &reg);
ao_cec            399 drivers/media/platform/meson/ao-cec-g12a.c 	struct meson_ao_cec_g12a_device *ao_cec = context;
ao_cec            404 drivers/media/platform/meson/ao-cec-g12a.c 	return regmap_write(ao_cec->regmap, CECB_RW_REG, reg);
ao_cec            416 drivers/media/platform/meson/ao-cec-g12a.c meson_ao_cec_g12a_irq_setup(struct meson_ao_cec_g12a_device *ao_cec,
ao_cec            423 drivers/media/platform/meson/ao-cec-g12a.c 	regmap_write(ao_cec->regmap, CECB_INTR_MASKN_REG,
ao_cec            427 drivers/media/platform/meson/ao-cec-g12a.c static void meson_ao_cec_g12a_irq_rx(struct meson_ao_cec_g12a_device *ao_cec)
ao_cec            432 drivers/media/platform/meson/ao-cec-g12a.c 	ret = regmap_read(ao_cec->regmap_cec, CECB_RX_CNT, &val);
ao_cec            434 drivers/media/platform/meson/ao-cec-g12a.c 	ao_cec->rx_msg.len = val;
ao_cec            435 drivers/media/platform/meson/ao-cec-g12a.c 	if (ao_cec->rx_msg.len > CEC_MAX_MSG_SIZE)
ao_cec            436 drivers/media/platform/meson/ao-cec-g12a.c 		ao_cec->rx_msg.len = CEC_MAX_MSG_SIZE;
ao_cec            438 drivers/media/platform/meson/ao-cec-g12a.c 	for (i = 0; i < ao_cec->rx_msg.len; i++) {
ao_cec            439 drivers/media/platform/meson/ao-cec-g12a.c 		ret |= regmap_read(ao_cec->regmap_cec,
ao_cec            442 drivers/media/platform/meson/ao-cec-g12a.c 		ao_cec->rx_msg.msg[i] = val & 0xff;
ao_cec            445 drivers/media/platform/meson/ao-cec-g12a.c 	ret |= regmap_write(ao_cec->regmap_cec, CECB_LOCK_BUF, 0);
ao_cec            449 drivers/media/platform/meson/ao-cec-g12a.c 	cec_received_msg(ao_cec->adap, &ao_cec->rx_msg);
ao_cec            454 drivers/media/platform/meson/ao-cec-g12a.c 	struct meson_ao_cec_g12a_device *ao_cec = data;
ao_cec            457 drivers/media/platform/meson/ao-cec-g12a.c 	regmap_read(ao_cec->regmap, CECB_INTR_STAT_REG, &stat);
ao_cec            466 drivers/media/platform/meson/ao-cec-g12a.c 	struct meson_ao_cec_g12a_device *ao_cec = data;
ao_cec            469 drivers/media/platform/meson/ao-cec-g12a.c 	regmap_read(ao_cec->regmap, CECB_INTR_STAT_REG, &stat);
ao_cec            470 drivers/media/platform/meson/ao-cec-g12a.c 	regmap_write(ao_cec->regmap, CECB_INTR_CLR_REG, stat);
ao_cec            473 drivers/media/platform/meson/ao-cec-g12a.c 		cec_transmit_attempt_done(ao_cec->adap, CEC_TX_STATUS_OK);
ao_cec            476 drivers/media/platform/meson/ao-cec-g12a.c 		meson_ao_cec_g12a_irq_rx(ao_cec);
ao_cec            479 drivers/media/platform/meson/ao-cec-g12a.c 		cec_transmit_attempt_done(ao_cec->adap, CEC_TX_STATUS_NACK);
ao_cec            482 drivers/media/platform/meson/ao-cec-g12a.c 		regmap_write(ao_cec->regmap_cec, CECB_TX_CNT, 0);
ao_cec            483 drivers/media/platform/meson/ao-cec-g12a.c 		regmap_update_bits(ao_cec->regmap_cec, CECB_CTRL,
ao_cec            485 drivers/media/platform/meson/ao-cec-g12a.c 		cec_transmit_attempt_done(ao_cec->adap, CEC_TX_STATUS_ARB_LOST);
ao_cec            490 drivers/media/platform/meson/ao-cec-g12a.c 		cec_transmit_attempt_done(ao_cec->adap, CEC_TX_STATUS_ERROR);
ao_cec            494 drivers/media/platform/meson/ao-cec-g12a.c 		regmap_write(ao_cec->regmap_cec, CECB_LOCK_BUF, 0);
ao_cec            502 drivers/media/platform/meson/ao-cec-g12a.c 	struct meson_ao_cec_g12a_device *ao_cec = adap->priv;
ao_cec            507 drivers/media/platform/meson/ao-cec-g12a.c 		regmap_write(ao_cec->regmap_cec, CECB_LADD_LOW, 0);
ao_cec            508 drivers/media/platform/meson/ao-cec-g12a.c 		regmap_write(ao_cec->regmap_cec, CECB_LADD_HIGH, 0);
ao_cec            512 drivers/media/platform/meson/ao-cec-g12a.c 		ret = regmap_update_bits(ao_cec->regmap_cec, CECB_LADD_LOW,
ao_cec            516 drivers/media/platform/meson/ao-cec-g12a.c 		ret = regmap_update_bits(ao_cec->regmap_cec, CECB_LADD_HIGH,
ao_cec            522 drivers/media/platform/meson/ao-cec-g12a.c 	ret |= regmap_update_bits(ao_cec->regmap_cec, CECB_LADD_HIGH,
ao_cec            532 drivers/media/platform/meson/ao-cec-g12a.c 	struct meson_ao_cec_g12a_device *ao_cec = adap->priv;
ao_cec            539 drivers/media/platform/meson/ao-cec-g12a.c 	ret = regmap_read(ao_cec->regmap_cec, CECB_LOCK_BUF, &val);
ao_cec            546 drivers/media/platform/meson/ao-cec-g12a.c 	ret = regmap_read(ao_cec->regmap_cec, CECB_CTRL, &val);
ao_cec            566 drivers/media/platform/meson/ao-cec-g12a.c 		ret |= regmap_write(ao_cec->regmap_cec, CECB_TX_DATA00 + i,
ao_cec            569 drivers/media/platform/meson/ao-cec-g12a.c 	ret |= regmap_write(ao_cec->regmap_cec, CECB_TX_CNT, msg->len);
ao_cec            573 drivers/media/platform/meson/ao-cec-g12a.c 	ret = regmap_update_bits(ao_cec->regmap_cec, CECB_CTRL,
ao_cec            584 drivers/media/platform/meson/ao-cec-g12a.c 	struct meson_ao_cec_g12a_device *ao_cec = adap->priv;
ao_cec            586 drivers/media/platform/meson/ao-cec-g12a.c 	meson_ao_cec_g12a_irq_setup(ao_cec, false);
ao_cec            588 drivers/media/platform/meson/ao-cec-g12a.c 	regmap_update_bits(ao_cec->regmap, CECB_GEN_CNTL_REG,
ao_cec            595 drivers/media/platform/meson/ao-cec-g12a.c 	regmap_update_bits(ao_cec->regmap, CECB_GEN_CNTL_REG,
ao_cec            603 drivers/media/platform/meson/ao-cec-g12a.c 	regmap_update_bits(ao_cec->regmap, CECB_GEN_CNTL_REG,
ao_cec            608 drivers/media/platform/meson/ao-cec-g12a.c 	regmap_update_bits(ao_cec->regmap, CECB_GEN_CNTL_REG,
ao_cec            614 drivers/media/platform/meson/ao-cec-g12a.c 	regmap_update_bits(ao_cec->regmap, CECB_GEN_CNTL_REG,
ao_cec            617 drivers/media/platform/meson/ao-cec-g12a.c 	if (ao_cec->data->ctrl2_setup)
ao_cec            618 drivers/media/platform/meson/ao-cec-g12a.c 		regmap_write(ao_cec->regmap_cec, CECB_CTRL2,
ao_cec            621 drivers/media/platform/meson/ao-cec-g12a.c 	meson_ao_cec_g12a_irq_setup(ao_cec, true);
ao_cec            634 drivers/media/platform/meson/ao-cec-g12a.c 	struct meson_ao_cec_g12a_device *ao_cec;
ao_cec            644 drivers/media/platform/meson/ao-cec-g12a.c 	ao_cec = devm_kzalloc(&pdev->dev, sizeof(*ao_cec), GFP_KERNEL);
ao_cec            645 drivers/media/platform/meson/ao-cec-g12a.c 	if (!ao_cec)
ao_cec            648 drivers/media/platform/meson/ao-cec-g12a.c 	ao_cec->data = of_device_get_match_data(&pdev->dev);
ao_cec            649 drivers/media/platform/meson/ao-cec-g12a.c 	if (!ao_cec->data) {
ao_cec            654 drivers/media/platform/meson/ao-cec-g12a.c 	spin_lock_init(&ao_cec->cec_reg_lock);
ao_cec            655 drivers/media/platform/meson/ao-cec-g12a.c 	ao_cec->pdev = pdev;
ao_cec            657 drivers/media/platform/meson/ao-cec-g12a.c 	ao_cec->adap = cec_allocate_adapter(&meson_ao_cec_g12a_ops, ao_cec,
ao_cec            662 drivers/media/platform/meson/ao-cec-g12a.c 	if (IS_ERR(ao_cec->adap))
ao_cec            663 drivers/media/platform/meson/ao-cec-g12a.c 		return PTR_ERR(ao_cec->adap);
ao_cec            665 drivers/media/platform/meson/ao-cec-g12a.c 	ao_cec->adap->owner = THIS_MODULE;
ao_cec            674 drivers/media/platform/meson/ao-cec-g12a.c 	ao_cec->regmap = devm_regmap_init_mmio(&pdev->dev, base,
ao_cec            676 drivers/media/platform/meson/ao-cec-g12a.c 	if (IS_ERR(ao_cec->regmap)) {
ao_cec            677 drivers/media/platform/meson/ao-cec-g12a.c 		ret = PTR_ERR(ao_cec->regmap);
ao_cec            681 drivers/media/platform/meson/ao-cec-g12a.c 	ao_cec->regmap_cec = devm_regmap_init(&pdev->dev, NULL, ao_cec,
ao_cec            683 drivers/media/platform/meson/ao-cec-g12a.c 	if (IS_ERR(ao_cec->regmap_cec)) {
ao_cec            684 drivers/media/platform/meson/ao-cec-g12a.c 		ret = PTR_ERR(ao_cec->regmap_cec);
ao_cec            692 drivers/media/platform/meson/ao-cec-g12a.c 					0, NULL, ao_cec);
ao_cec            698 drivers/media/platform/meson/ao-cec-g12a.c 	ao_cec->oscin = devm_clk_get(&pdev->dev, "oscin");
ao_cec            699 drivers/media/platform/meson/ao-cec-g12a.c 	if (IS_ERR(ao_cec->oscin)) {
ao_cec            701 drivers/media/platform/meson/ao-cec-g12a.c 		ret = PTR_ERR(ao_cec->oscin);
ao_cec            705 drivers/media/platform/meson/ao-cec-g12a.c 	ret = meson_ao_cec_g12a_setup_clk(ao_cec);
ao_cec            709 drivers/media/platform/meson/ao-cec-g12a.c 	ret = clk_prepare_enable(ao_cec->core);
ao_cec            717 drivers/media/platform/meson/ao-cec-g12a.c 	platform_set_drvdata(pdev, ao_cec);
ao_cec            719 drivers/media/platform/meson/ao-cec-g12a.c 	ao_cec->notify = cec_notifier_cec_adap_register(hdmi_dev, NULL,
ao_cec            720 drivers/media/platform/meson/ao-cec-g12a.c 							ao_cec->adap);
ao_cec            721 drivers/media/platform/meson/ao-cec-g12a.c 	if (!ao_cec->notify) {
ao_cec            726 drivers/media/platform/meson/ao-cec-g12a.c 	ret = cec_register_adapter(ao_cec->adap, &pdev->dev);
ao_cec            731 drivers/media/platform/meson/ao-cec-g12a.c 	regmap_write(ao_cec->regmap, CECB_GEN_CNTL_REG, CECB_GEN_CNTL_RESET);
ao_cec            736 drivers/media/platform/meson/ao-cec-g12a.c 	cec_notifier_cec_adap_unregister(ao_cec->notify);
ao_cec            739 drivers/media/platform/meson/ao-cec-g12a.c 	clk_disable_unprepare(ao_cec->core);
ao_cec            742 drivers/media/platform/meson/ao-cec-g12a.c 	cec_delete_adapter(ao_cec->adap);
ao_cec            751 drivers/media/platform/meson/ao-cec-g12a.c 	struct meson_ao_cec_g12a_device *ao_cec = platform_get_drvdata(pdev);
ao_cec            753 drivers/media/platform/meson/ao-cec-g12a.c 	clk_disable_unprepare(ao_cec->core);
ao_cec            755 drivers/media/platform/meson/ao-cec-g12a.c 	cec_notifier_cec_adap_unregister(ao_cec->notify);
ao_cec            757 drivers/media/platform/meson/ao-cec-g12a.c 	cec_unregister_adapter(ao_cec->adap);
ao_cec            231 drivers/media/platform/meson/ao-cec.c static inline int meson_ao_cec_wait_busy(struct meson_ao_cec_device *ao_cec)
ao_cec            235 drivers/media/platform/meson/ao-cec.c 	while (readl_relaxed(ao_cec->base + CEC_RW_REG) & CEC_RW_BUS_BUSY) {
ao_cec            243 drivers/media/platform/meson/ao-cec.c static void meson_ao_cec_read(struct meson_ao_cec_device *ao_cec,
ao_cec            254 drivers/media/platform/meson/ao-cec.c 	spin_lock_irqsave(&ao_cec->cec_reg_lock, flags);
ao_cec            256 drivers/media/platform/meson/ao-cec.c 	ret = meson_ao_cec_wait_busy(ao_cec);
ao_cec            260 drivers/media/platform/meson/ao-cec.c 	writel_relaxed(reg, ao_cec->base + CEC_RW_REG);
ao_cec            262 drivers/media/platform/meson/ao-cec.c 	ret = meson_ao_cec_wait_busy(ao_cec);
ao_cec            267 drivers/media/platform/meson/ao-cec.c 			  readl_relaxed(ao_cec->base + CEC_RW_REG));
ao_cec            270 drivers/media/platform/meson/ao-cec.c 	spin_unlock_irqrestore(&ao_cec->cec_reg_lock, flags);
ao_cec            276 drivers/media/platform/meson/ao-cec.c static void meson_ao_cec_write(struct meson_ao_cec_device *ao_cec,
ao_cec            289 drivers/media/platform/meson/ao-cec.c 	spin_lock_irqsave(&ao_cec->cec_reg_lock, flags);
ao_cec            291 drivers/media/platform/meson/ao-cec.c 	ret = meson_ao_cec_wait_busy(ao_cec);
ao_cec            295 drivers/media/platform/meson/ao-cec.c 	writel_relaxed(reg, ao_cec->base + CEC_RW_REG);
ao_cec            298 drivers/media/platform/meson/ao-cec.c 	spin_unlock_irqrestore(&ao_cec->cec_reg_lock, flags);
ao_cec            304 drivers/media/platform/meson/ao-cec.c static inline void meson_ao_cec_irq_setup(struct meson_ao_cec_device *ao_cec,
ao_cec            310 drivers/media/platform/meson/ao-cec.c 			    ao_cec->base + CEC_INTR_MASKN_REG);
ao_cec            313 drivers/media/platform/meson/ao-cec.c static inline int meson_ao_cec_clear(struct meson_ao_cec_device *ao_cec)
ao_cec            317 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_RX_MSG_CMD, RX_DISABLE, &ret);
ao_cec            318 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_TX_MSG_CMD, TX_ABORT, &ret);
ao_cec            319 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_RX_CLEAR_BUF, 1, &ret);
ao_cec            320 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_TX_CLEAR_BUF, 1, &ret);
ao_cec            326 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_RX_CLEAR_BUF, 0, &ret);
ao_cec            327 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_TX_CLEAR_BUF, 0, &ret);
ao_cec            333 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_RX_MSG_CMD, RX_NO_OP, &ret);
ao_cec            334 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_TX_MSG_CMD, TX_NO_OP, &ret);
ao_cec            339 drivers/media/platform/meson/ao-cec.c static int meson_ao_cec_arbit_bit_time_set(struct meson_ao_cec_device *ao_cec,
ao_cec            347 drivers/media/platform/meson/ao-cec.c 		meson_ao_cec_write(ao_cec, CEC_TXTIME_4BIT_BIT7_0,
ao_cec            349 drivers/media/platform/meson/ao-cec.c 		meson_ao_cec_write(ao_cec, CEC_TXTIME_4BIT_BIT10_8,
ao_cec            354 drivers/media/platform/meson/ao-cec.c 		meson_ao_cec_write(ao_cec, CEC_TXTIME_2BIT_BIT7_0,
ao_cec            356 drivers/media/platform/meson/ao-cec.c 		meson_ao_cec_write(ao_cec, CEC_TXTIME_2BIT_BIT10_8,
ao_cec            361 drivers/media/platform/meson/ao-cec.c 		meson_ao_cec_write(ao_cec, CEC_TXTIME_17MS_BIT7_0,
ao_cec            363 drivers/media/platform/meson/ao-cec.c 		meson_ao_cec_write(ao_cec, CEC_TXTIME_17MS_BIT10_8,
ao_cec            373 drivers/media/platform/meson/ao-cec.c 	struct meson_ao_cec_device *ao_cec = data;
ao_cec            374 drivers/media/platform/meson/ao-cec.c 	u32 stat = readl_relaxed(ao_cec->base + CEC_INTR_STAT_REG);
ao_cec            382 drivers/media/platform/meson/ao-cec.c static void meson_ao_cec_irq_tx(struct meson_ao_cec_device *ao_cec)
ao_cec            388 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_read(ao_cec, CEC_TX_MSG_STATUS, &stat, &ret);
ao_cec            412 drivers/media/platform/meson/ao-cec.c 	writel_relaxed(CEC_INTR_TX, ao_cec->base + CEC_INTR_CLR_REG);
ao_cec            415 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_TX_MSG_CMD, TX_NO_OP, &ret);
ao_cec            419 drivers/media/platform/meson/ao-cec.c 	cec_transmit_attempt_done(ao_cec->adap, tx_status);
ao_cec            423 drivers/media/platform/meson/ao-cec.c 	cec_transmit_attempt_done(ao_cec->adap, CEC_TX_STATUS_ERROR);
ao_cec            426 drivers/media/platform/meson/ao-cec.c static void meson_ao_cec_irq_rx(struct meson_ao_cec_device *ao_cec)
ao_cec            431 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_read(ao_cec, CEC_RX_MSG_STATUS, &reg, &ret);
ao_cec            435 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_read(ao_cec, CEC_RX_NUM_MSG, &reg, &ret);
ao_cec            439 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_read(ao_cec, CEC_RX_MSG_LENGTH, &reg, &ret);
ao_cec            441 drivers/media/platform/meson/ao-cec.c 	ao_cec->rx_msg.len = reg + 1;
ao_cec            442 drivers/media/platform/meson/ao-cec.c 	if (ao_cec->rx_msg.len > CEC_MAX_MSG_SIZE)
ao_cec            443 drivers/media/platform/meson/ao-cec.c 		ao_cec->rx_msg.len = CEC_MAX_MSG_SIZE;
ao_cec            445 drivers/media/platform/meson/ao-cec.c 	for (i = 0; i < ao_cec->rx_msg.len; i++) {
ao_cec            448 drivers/media/platform/meson/ao-cec.c 		meson_ao_cec_read(ao_cec, CEC_RX_MSG_0_HEADER + i, &byte, &ret);
ao_cec            450 drivers/media/platform/meson/ao-cec.c 		ao_cec->rx_msg.msg[i] = byte;
ao_cec            456 drivers/media/platform/meson/ao-cec.c 	cec_received_msg(ao_cec->adap, &ao_cec->rx_msg);
ao_cec            460 drivers/media/platform/meson/ao-cec.c 	writel_relaxed(CEC_INTR_RX, ao_cec->base + CEC_INTR_CLR_REG);
ao_cec            463 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_RX_MSG_CMD, RX_ACK_CURRENT, &ret);
ao_cec            464 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_RX_MSG_CMD, RX_NO_OP, &ret);
ao_cec            467 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_RX_CLEAR_BUF, CLEAR_START, &ret);
ao_cec            468 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_RX_CLEAR_BUF, CLEAR_STOP, &ret);
ao_cec            473 drivers/media/platform/meson/ao-cec.c 	struct meson_ao_cec_device *ao_cec = data;
ao_cec            474 drivers/media/platform/meson/ao-cec.c 	u32 stat = readl_relaxed(ao_cec->base + CEC_INTR_STAT_REG);
ao_cec            477 drivers/media/platform/meson/ao-cec.c 		meson_ao_cec_irq_tx(ao_cec);
ao_cec            479 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_irq_rx(ao_cec);
ao_cec            486 drivers/media/platform/meson/ao-cec.c 	struct meson_ao_cec_device *ao_cec = adap->priv;
ao_cec            489 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_LOGICAL_ADDR0,
ao_cec            494 drivers/media/platform/meson/ao-cec.c 	ret = meson_ao_cec_clear(ao_cec);
ao_cec            501 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_LOGICAL_ADDR0,
ao_cec            508 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_LOGICAL_ADDR0,
ao_cec            518 drivers/media/platform/meson/ao-cec.c 	struct meson_ao_cec_device *ao_cec = adap->priv;
ao_cec            522 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_read(ao_cec, CEC_TX_MSG_STATUS, &reg, &ret);
ao_cec            527 drivers/media/platform/meson/ao-cec.c 		dev_dbg(&ao_cec->pdev->dev, "%s: busy TX: aborting\n",
ao_cec            529 drivers/media/platform/meson/ao-cec.c 		meson_ao_cec_write(ao_cec, CEC_TX_MSG_CMD, TX_ABORT, &ret);
ao_cec            533 drivers/media/platform/meson/ao-cec.c 		meson_ao_cec_write(ao_cec, CEC_TX_MSG_0_HEADER + i,
ao_cec            537 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_TX_MSG_LENGTH, msg->len - 1, &ret);
ao_cec            538 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_write(ao_cec, CEC_TX_MSG_CMD, TX_REQ_CURRENT, &ret);
ao_cec            545 drivers/media/platform/meson/ao-cec.c 	struct meson_ao_cec_device *ao_cec = adap->priv;
ao_cec            548 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_irq_setup(ao_cec, false);
ao_cec            551 drivers/media/platform/meson/ao-cec.c 			    ao_cec->base + CEC_GEN_CNTL_REG);
ao_cec            560 drivers/media/platform/meson/ao-cec.c 			    ao_cec->base + CEC_GEN_CNTL_REG);
ao_cec            566 drivers/media/platform/meson/ao-cec.c 			    ao_cec->base + CEC_GEN_CNTL_REG);
ao_cec            569 drivers/media/platform/meson/ao-cec.c 	ret = meson_ao_cec_clear(ao_cec);
ao_cec            574 drivers/media/platform/meson/ao-cec.c 	ret = meson_ao_cec_arbit_bit_time_set(ao_cec,
ao_cec            579 drivers/media/platform/meson/ao-cec.c 	ret = meson_ao_cec_arbit_bit_time_set(ao_cec,
ao_cec            584 drivers/media/platform/meson/ao-cec.c 	ret = meson_ao_cec_arbit_bit_time_set(ao_cec,
ao_cec            590 drivers/media/platform/meson/ao-cec.c 	meson_ao_cec_irq_setup(ao_cec, true);
ao_cec            603 drivers/media/platform/meson/ao-cec.c 	struct meson_ao_cec_device *ao_cec;
ao_cec            613 drivers/media/platform/meson/ao-cec.c 	ao_cec = devm_kzalloc(&pdev->dev, sizeof(*ao_cec), GFP_KERNEL);
ao_cec            614 drivers/media/platform/meson/ao-cec.c 	if (!ao_cec)
ao_cec            617 drivers/media/platform/meson/ao-cec.c 	spin_lock_init(&ao_cec->cec_reg_lock);
ao_cec            619 drivers/media/platform/meson/ao-cec.c 	ao_cec->adap = cec_allocate_adapter(&meson_ao_cec_ops, ao_cec,
ao_cec            624 drivers/media/platform/meson/ao-cec.c 	if (IS_ERR(ao_cec->adap))
ao_cec            625 drivers/media/platform/meson/ao-cec.c 		return PTR_ERR(ao_cec->adap);
ao_cec            627 drivers/media/platform/meson/ao-cec.c 	ao_cec->adap->owner = THIS_MODULE;
ao_cec            630 drivers/media/platform/meson/ao-cec.c 	ao_cec->base = devm_ioremap_resource(&pdev->dev, res);
ao_cec            631 drivers/media/platform/meson/ao-cec.c 	if (IS_ERR(ao_cec->base)) {
ao_cec            632 drivers/media/platform/meson/ao-cec.c 		ret = PTR_ERR(ao_cec->base);
ao_cec            640 drivers/media/platform/meson/ao-cec.c 					0, NULL, ao_cec);
ao_cec            646 drivers/media/platform/meson/ao-cec.c 	ao_cec->core = devm_clk_get(&pdev->dev, "core");
ao_cec            647 drivers/media/platform/meson/ao-cec.c 	if (IS_ERR(ao_cec->core)) {
ao_cec            649 drivers/media/platform/meson/ao-cec.c 		ret = PTR_ERR(ao_cec->core);
ao_cec            653 drivers/media/platform/meson/ao-cec.c 	ret = clk_prepare_enable(ao_cec->core);
ao_cec            659 drivers/media/platform/meson/ao-cec.c 	ret = clk_set_rate(ao_cec->core, CEC_CLK_RATE);
ao_cec            667 drivers/media/platform/meson/ao-cec.c 	ao_cec->pdev = pdev;
ao_cec            668 drivers/media/platform/meson/ao-cec.c 	platform_set_drvdata(pdev, ao_cec);
ao_cec            670 drivers/media/platform/meson/ao-cec.c 	ao_cec->notify = cec_notifier_cec_adap_register(hdmi_dev, NULL,
ao_cec            671 drivers/media/platform/meson/ao-cec.c 							ao_cec->adap);
ao_cec            672 drivers/media/platform/meson/ao-cec.c 	if (!ao_cec->notify) {
ao_cec            677 drivers/media/platform/meson/ao-cec.c 	ret = cec_register_adapter(ao_cec->adap, &pdev->dev);
ao_cec            683 drivers/media/platform/meson/ao-cec.c 		       ao_cec->base + CEC_GEN_CNTL_REG);
ao_cec            688 drivers/media/platform/meson/ao-cec.c 	cec_notifier_cec_adap_unregister(ao_cec->notify);
ao_cec            691 drivers/media/platform/meson/ao-cec.c 	clk_disable_unprepare(ao_cec->core);
ao_cec            694 drivers/media/platform/meson/ao-cec.c 	cec_delete_adapter(ao_cec->adap);
ao_cec            703 drivers/media/platform/meson/ao-cec.c 	struct meson_ao_cec_device *ao_cec = platform_get_drvdata(pdev);
ao_cec            705 drivers/media/platform/meson/ao-cec.c 	clk_disable_unprepare(ao_cec->core);
ao_cec            707 drivers/media/platform/meson/ao-cec.c 	cec_notifier_cec_adap_unregister(ao_cec->notify);
ao_cec            708 drivers/media/platform/meson/ao-cec.c 	cec_unregister_adapter(ao_cec->adap);
ao_cec            562 drivers/pinctrl/meson/pinctrl-meson-gxbb.c 	GROUP(ao_cec,           0,      15),
ao_cec            546 drivers/pinctrl/meson/pinctrl-meson-gxl.c 	GROUP(ao_cec,		0,	15),