162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef S390_CIO_IOASM_H
362306a36Sopenharmony_ci#define S390_CIO_IOASM_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <asm/chpid.h>
662306a36Sopenharmony_ci#include <asm/schid.h>
762306a36Sopenharmony_ci#include <asm/crw.h>
862306a36Sopenharmony_ci#include "orb.h"
962306a36Sopenharmony_ci#include "cio.h"
1062306a36Sopenharmony_ci#include "trace.h"
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/*
1362306a36Sopenharmony_ci * Some S390 specific IO instructions
1462306a36Sopenharmony_ci */
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciint stsch(struct subchannel_id schid, struct schib *addr);
1762306a36Sopenharmony_ciint msch(struct subchannel_id schid, struct schib *addr);
1862306a36Sopenharmony_ciint tsch(struct subchannel_id schid, struct irb *addr);
1962306a36Sopenharmony_ciint ssch(struct subchannel_id schid, union orb *addr);
2062306a36Sopenharmony_ciint csch(struct subchannel_id schid);
2162306a36Sopenharmony_ciint tpi(struct tpi_info *addr);
2262306a36Sopenharmony_ciint chsc(void *chsc_area);
2362306a36Sopenharmony_ciint rsch(struct subchannel_id schid);
2462306a36Sopenharmony_ciint hsch(struct subchannel_id schid);
2562306a36Sopenharmony_ciint xsch(struct subchannel_id schid);
2662306a36Sopenharmony_ciint stcrw(struct crw *crw);
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci#endif
29