sbefifo            42 drivers/fsi/fsi-occ.c 	struct device *sbefifo;
sbefifo           260 drivers/fsi/fsi-occ.c 	rc = sbefifo_submit(occ->sbefifo, cmd, 5, resp, &resp_len);
sbefifo           264 drivers/fsi/fsi-occ.c 	rc = sbefifo_parse_status(occ->sbefifo, SBEFIFO_CMD_GET_OCC_SRAM,
sbefifo           321 drivers/fsi/fsi-occ.c 	rc = sbefifo_submit(occ->sbefifo, buf, cmd_len, buf, &resp_len);
sbefifo           325 drivers/fsi/fsi-occ.c 	rc = sbefifo_parse_status(occ->sbefifo, SBEFIFO_CMD_PUT_OCC_SRAM,
sbefifo           373 drivers/fsi/fsi-occ.c 	rc = sbefifo_submit(occ->sbefifo, buf, 7, buf, &resp_len);
sbefifo           377 drivers/fsi/fsi-occ.c 	rc = sbefifo_parse_status(occ->sbefifo, SBEFIFO_CMD_PUT_OCC_SRAM,
sbefifo           521 drivers/fsi/fsi-occ.c 	occ->sbefifo = dev->parent;
sbefifo           130 drivers/fsi/fsi-sbefifo.c 	struct sbefifo		*sbefifo;
sbefifo           249 drivers/fsi/fsi-sbefifo.c static int sbefifo_regr(struct sbefifo *sbefifo, int reg, u32 *word)
sbefifo           254 drivers/fsi/fsi-sbefifo.c 	rc = fsi_device_read(sbefifo->fsi_dev, reg, &raw_word,
sbefifo           264 drivers/fsi/fsi-sbefifo.c static int sbefifo_regw(struct sbefifo *sbefifo, int reg, u32 word)
sbefifo           268 drivers/fsi/fsi-sbefifo.c 	return fsi_device_write(sbefifo->fsi_dev, reg, &raw_word,
sbefifo           272 drivers/fsi/fsi-sbefifo.c static int sbefifo_check_sbe_state(struct sbefifo *sbefifo)
sbefifo           278 drivers/fsi/fsi-sbefifo.c 	rc = fsi_slave_read(sbefifo->fsi_dev->slave, CFAM_GP_MBOX_SBM_ADDR,
sbefifo           307 drivers/fsi/fsi-sbefifo.c 		sbefifo->async_ffdc = true;
sbefifo           313 drivers/fsi/fsi-sbefifo.c static int sbefifo_down_read(struct sbefifo *sbefifo, __be32 *word)
sbefifo           315 drivers/fsi/fsi-sbefifo.c 	return fsi_device_read(sbefifo->fsi_dev, SBEFIFO_DOWN, word,
sbefifo           319 drivers/fsi/fsi-sbefifo.c static int sbefifo_up_write(struct sbefifo *sbefifo, __be32 word)
sbefifo           321 drivers/fsi/fsi-sbefifo.c 	return fsi_device_write(sbefifo->fsi_dev, SBEFIFO_UP, &word,
sbefifo           325 drivers/fsi/fsi-sbefifo.c static int sbefifo_request_reset(struct sbefifo *sbefifo)
sbefifo           327 drivers/fsi/fsi-sbefifo.c 	struct device *dev = &sbefifo->fsi_dev->dev;
sbefifo           334 drivers/fsi/fsi-sbefifo.c 	sbefifo->broken = true;
sbefifo           337 drivers/fsi/fsi-sbefifo.c 	rc = sbefifo_regw(sbefifo, SBEFIFO_UP | SBEFIFO_REQ_RESET, 1);
sbefifo           345 drivers/fsi/fsi-sbefifo.c 		rc = sbefifo_regr(sbefifo, SBEFIFO_UP | SBEFIFO_STS, &status);
sbefifo           354 drivers/fsi/fsi-sbefifo.c 			sbefifo->broken = false;
sbefifo           365 drivers/fsi/fsi-sbefifo.c static int sbefifo_cleanup_hw(struct sbefifo *sbefifo)
sbefifo           367 drivers/fsi/fsi-sbefifo.c 	struct device *dev = &sbefifo->fsi_dev->dev;
sbefifo           372 drivers/fsi/fsi-sbefifo.c 	rc = sbefifo_check_sbe_state(sbefifo);
sbefifo           379 drivers/fsi/fsi-sbefifo.c 	if (sbefifo->broken)
sbefifo           382 drivers/fsi/fsi-sbefifo.c 	rc = sbefifo_regr(sbefifo, SBEFIFO_UP | SBEFIFO_STS, &up_status);
sbefifo           387 drivers/fsi/fsi-sbefifo.c 		sbefifo->broken = true;
sbefifo           391 drivers/fsi/fsi-sbefifo.c 	rc = sbefifo_regr(sbefifo, SBEFIFO_DOWN | SBEFIFO_STS, &down_status);
sbefifo           396 drivers/fsi/fsi-sbefifo.c 		sbefifo->broken = true;
sbefifo           403 drivers/fsi/fsi-sbefifo.c 		rc = sbefifo_regw(sbefifo, SBEFIFO_UP, SBEFIFO_PERFORM_RESET);
sbefifo           405 drivers/fsi/fsi-sbefifo.c 			sbefifo->broken = true;
sbefifo           409 drivers/fsi/fsi-sbefifo.c 		sbefifo->broken = false;
sbefifo           430 drivers/fsi/fsi-sbefifo.c 	return sbefifo_request_reset(sbefifo);
sbefifo           433 drivers/fsi/fsi-sbefifo.c static int sbefifo_wait(struct sbefifo *sbefifo, bool up,
sbefifo           436 drivers/fsi/fsi-sbefifo.c 	struct device *dev = &sbefifo->fsi_dev->dev;
sbefifo           449 drivers/fsi/fsi-sbefifo.c 		rc = sbefifo_regr(sbefifo, addr, &sts);
sbefifo           473 drivers/fsi/fsi-sbefifo.c static int sbefifo_send_command(struct sbefifo *sbefifo,
sbefifo           476 drivers/fsi/fsi-sbefifo.c 	struct device *dev = &sbefifo->fsi_dev->dev;
sbefifo           489 drivers/fsi/fsi-sbefifo.c 		rc = sbefifo_wait(sbefifo, true, &status, timeout);
sbefifo           502 drivers/fsi/fsi-sbefifo.c 			rc = sbefifo_up_write(sbefifo, *(command++));
sbefifo           514 drivers/fsi/fsi-sbefifo.c 		rc = sbefifo_wait(sbefifo, true, &status, timeout);
sbefifo           520 drivers/fsi/fsi-sbefifo.c 	rc = sbefifo_regw(sbefifo, SBEFIFO_UP | SBEFIFO_EOT_RAISE, 0);
sbefifo           526 drivers/fsi/fsi-sbefifo.c static int sbefifo_read_response(struct sbefifo *sbefifo, struct iov_iter *response)
sbefifo           528 drivers/fsi/fsi-sbefifo.c 	struct device *dev = &sbefifo->fsi_dev->dev;
sbefifo           541 drivers/fsi/fsi-sbefifo.c 		rc = sbefifo_wait(sbefifo, false, &status, timeout);
sbefifo           555 drivers/fsi/fsi-sbefifo.c 			rc = sbefifo_down_read(sbefifo, &data);
sbefifo           571 drivers/fsi/fsi-sbefifo.c 					sbefifo->broken = true;
sbefifo           575 drivers/fsi/fsi-sbefifo.c 				rc = sbefifo_regw(sbefifo,
sbefifo           585 drivers/fsi/fsi-sbefifo.c 					sbefifo->broken = true;
sbefifo           610 drivers/fsi/fsi-sbefifo.c static int sbefifo_do_command(struct sbefifo *sbefifo,
sbefifo           615 drivers/fsi/fsi-sbefifo.c 	int rc = sbefifo_send_command(sbefifo, command, cmd_len);
sbefifo           620 drivers/fsi/fsi-sbefifo.c 	return sbefifo_read_response(sbefifo, response);
sbefifo           623 drivers/fsi/fsi-sbefifo.c static void sbefifo_collect_async_ffdc(struct sbefifo *sbefifo)
sbefifo           625 drivers/fsi/fsi-sbefifo.c 	struct device *dev = &sbefifo->fsi_dev->dev;
sbefifo           633 drivers/fsi/fsi-sbefifo.c 	sbefifo->async_ffdc = false;
sbefifo           644 drivers/fsi/fsi-sbefifo.c 	rc = sbefifo_do_command(sbefifo, cmd, 2, &ffdc_iter);
sbefifo           664 drivers/fsi/fsi-sbefifo.c static int __sbefifo_submit(struct sbefifo *sbefifo,
sbefifo           668 drivers/fsi/fsi-sbefifo.c 	struct device *dev = &sbefifo->fsi_dev->dev;
sbefifo           671 drivers/fsi/fsi-sbefifo.c 	if (sbefifo->dead)
sbefifo           681 drivers/fsi/fsi-sbefifo.c 	rc = sbefifo_cleanup_hw(sbefifo);
sbefifo           686 drivers/fsi/fsi-sbefifo.c 	if (sbefifo->async_ffdc)
sbefifo           687 drivers/fsi/fsi-sbefifo.c 		sbefifo_collect_async_ffdc(sbefifo);
sbefifo           689 drivers/fsi/fsi-sbefifo.c 	rc = sbefifo_do_command(sbefifo, command, cmd_len, response);
sbefifo           698 drivers/fsi/fsi-sbefifo.c         sbefifo_request_reset(sbefifo);
sbefifo           718 drivers/fsi/fsi-sbefifo.c 	struct sbefifo *sbefifo;
sbefifo           726 drivers/fsi/fsi-sbefifo.c 	sbefifo = dev_get_drvdata(dev);
sbefifo           727 drivers/fsi/fsi-sbefifo.c 	if (!sbefifo)
sbefifo           729 drivers/fsi/fsi-sbefifo.c 	if (WARN_ON_ONCE(sbefifo->magic != SBEFIFO_MAGIC))
sbefifo           741 drivers/fsi/fsi-sbefifo.c 	mutex_lock(&sbefifo->lock);
sbefifo           742 drivers/fsi/fsi-sbefifo.c 	rc = __sbefifo_submit(sbefifo, command, cmd_len, &resp_iter);
sbefifo           743 drivers/fsi/fsi-sbefifo.c 	mutex_unlock(&sbefifo->lock);
sbefifo           767 drivers/fsi/fsi-sbefifo.c 	struct sbefifo *sbefifo = container_of(inode->i_cdev, struct sbefifo, cdev);
sbefifo           775 drivers/fsi/fsi-sbefifo.c 	user->sbefifo = sbefifo;
sbefifo           790 drivers/fsi/fsi-sbefifo.c 	struct sbefifo *sbefifo;
sbefifo           798 drivers/fsi/fsi-sbefifo.c 	sbefifo = user->sbefifo;
sbefifo           821 drivers/fsi/fsi-sbefifo.c 	mutex_lock(&sbefifo->lock);
sbefifo           822 drivers/fsi/fsi-sbefifo.c 	rc = __sbefifo_submit(sbefifo, user->pending_cmd, cmd_len, &resp_iter);
sbefifo           823 drivers/fsi/fsi-sbefifo.c 	mutex_unlock(&sbefifo->lock);
sbefifo           839 drivers/fsi/fsi-sbefifo.c 	struct sbefifo *sbefifo;
sbefifo           844 drivers/fsi/fsi-sbefifo.c 	sbefifo = user->sbefifo;
sbefifo           876 drivers/fsi/fsi-sbefifo.c 		mutex_lock(&sbefifo->lock);
sbefifo           877 drivers/fsi/fsi-sbefifo.c 		rc = sbefifo_request_reset(user->sbefifo);
sbefifo           878 drivers/fsi/fsi-sbefifo.c 		mutex_unlock(&sbefifo->lock);
sbefifo           920 drivers/fsi/fsi-sbefifo.c 	struct sbefifo *sbefifo = container_of(dev, struct sbefifo, dev);
sbefifo           922 drivers/fsi/fsi-sbefifo.c 	put_device(&sbefifo->fsi_dev->dev);
sbefifo           923 drivers/fsi/fsi-sbefifo.c 	kfree(sbefifo);
sbefifo           933 drivers/fsi/fsi-sbefifo.c 	struct sbefifo *sbefifo;
sbefifo           941 drivers/fsi/fsi-sbefifo.c 	sbefifo = kzalloc(sizeof(*sbefifo), GFP_KERNEL);
sbefifo           942 drivers/fsi/fsi-sbefifo.c 	if (!sbefifo)
sbefifo           947 drivers/fsi/fsi-sbefifo.c 		kfree(sbefifo);
sbefifo           951 drivers/fsi/fsi-sbefifo.c 	sbefifo->magic = SBEFIFO_MAGIC;
sbefifo           952 drivers/fsi/fsi-sbefifo.c 	sbefifo->fsi_dev = fsi_dev;
sbefifo           953 drivers/fsi/fsi-sbefifo.c 	dev_set_drvdata(dev, sbefifo);
sbefifo           954 drivers/fsi/fsi-sbefifo.c 	mutex_init(&sbefifo->lock);
sbefifo           960 drivers/fsi/fsi-sbefifo.c 	rc = sbefifo_cleanup_hw(sbefifo);
sbefifo           965 drivers/fsi/fsi-sbefifo.c 	sbefifo->dev.type = &fsi_cdev_type;
sbefifo           966 drivers/fsi/fsi-sbefifo.c 	sbefifo->dev.parent = dev;
sbefifo           967 drivers/fsi/fsi-sbefifo.c 	sbefifo->dev.release = sbefifo_free;
sbefifo           968 drivers/fsi/fsi-sbefifo.c 	device_initialize(&sbefifo->dev);
sbefifo           971 drivers/fsi/fsi-sbefifo.c 	rc = fsi_get_new_minor(fsi_dev, fsi_dev_sbefifo, &sbefifo->dev.devt, &didx);
sbefifo           975 drivers/fsi/fsi-sbefifo.c 	dev_set_name(&sbefifo->dev, "sbefifo%d", didx);
sbefifo           976 drivers/fsi/fsi-sbefifo.c 	cdev_init(&sbefifo->cdev, &sbefifo_fops);
sbefifo           977 drivers/fsi/fsi-sbefifo.c 	rc = cdev_device_add(&sbefifo->cdev, &sbefifo->dev);
sbefifo           980 drivers/fsi/fsi-sbefifo.c 			rc, dev_name(&sbefifo->dev));
sbefifo           987 drivers/fsi/fsi-sbefifo.c 			 dev_name(&sbefifo->dev), child_idx++);
sbefifo           996 drivers/fsi/fsi-sbefifo.c 	fsi_free_minor(sbefifo->dev.devt);
sbefifo           998 drivers/fsi/fsi-sbefifo.c 	put_device(&sbefifo->dev);
sbefifo          1015 drivers/fsi/fsi-sbefifo.c 	struct sbefifo *sbefifo = dev_get_drvdata(dev);
sbefifo          1019 drivers/fsi/fsi-sbefifo.c 	mutex_lock(&sbefifo->lock);
sbefifo          1020 drivers/fsi/fsi-sbefifo.c 	sbefifo->dead = true;
sbefifo          1021 drivers/fsi/fsi-sbefifo.c 	mutex_unlock(&sbefifo->lock);
sbefifo          1023 drivers/fsi/fsi-sbefifo.c 	cdev_device_del(&sbefifo->cdev, &sbefifo->dev);
sbefifo          1024 drivers/fsi/fsi-sbefifo.c 	fsi_free_minor(sbefifo->dev.devt);
sbefifo          1026 drivers/fsi/fsi-sbefifo.c 	put_device(&sbefifo->dev);